前言

错误是程序中的问题,由于这些问题而导致程序停止执行。另一方面,当某些内部事件发生时,会引发异常,从而改变程序的正常流程。

python中会发生两种类型的错误。

  1. 语法错误
  2. 逻辑错误(异常)

语法错误

如果未遵循正确的语言语法,则会引发语法错误。

# 初始化amount变量
amount = 10000 # 检查你是否有资格
# 是否购买某某自学课程
if(amount>2999)
print("您有资格购买某课程")

输出:

PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py"
File "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py", line 6
if(amount>2999)
^
SyntaxError: invalid syntax

它返回语法错误消息,因为在if语句后:缺少冒号。我们可以通过编写正确的语法来解决此问题。

逻辑错误(异常)

在运行时中,通过语法测试后发生错误的情况称为异常或逻辑类型。例如,当我们将任何数字除以零时,ZeroDivisionError就会引发异常,或者当我们导入一个不存在的模块时,就会引发异常ImportError。

范例1:

# 初始化amount变量
marks = 10000 # 用0除
a = marks / 0
print(a)

输出:

PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py"
Traceback (most recent call last):
File "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py", line 5, in <module>
a = marks / 0
ZeroDivisionError: division by zero

在上面的示例中,我们尝试将数字除以0时出现ZeroDivisionError。

示例2:缩进不正确时。

if(a<3):
print("gfg")

输出:

PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py"
File "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py", line 1
if(a<3):
^
SyntaxError: invalid character in identifier

除上述异常外,一些常见的内置异常是:

错误处理

当出现错误和异常时,我们将借助Handling方法进行处理。

  • 用Try / Except / Finally处理异常我们可以通过Try / Except / Finally方法处理错误。我们在try中编写不安全的代码,在except中回退代码,在finally块中返回最终代码。例
# 将不安全操作置于试验区
try:
print("代码开始") # 不安全操作执行
print(1 / 0)
except :
print("发生错误")
finally:
print("软件测试test")

输出:

PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑苹果备份请勿删除/代码/exercise24 (1)/python加密.py"
代码开始
发生错误
软件测试test
  • 为预定义条件引发异常当我们要为某些条件的限制进行编码时,我们可以引发异常。例
请在你的帐户中加钱

输出:

请在你的帐户中加钱

Python中的错误和异常的更多相关文章

  1. 关于Python中的错误与异常,你是否了解的够仔细?

    每次版本结束都描述这着同样的错误,相似的问题,但始终没见解决.所以今天,我就来总结下Python的错误与异常! 异常与错误 错误 语法错误 可以通过IDE或者解释器给出提示的错误 opentxt('a ...

  2. Python学习-16.Python中的错误处理

    虽然叫错误,但跟 C# 中的异常是一回事.只不过 Python 中叫错误(Error)而 C# 中叫异常(Exception). 先手工产生一个异常: file = open('','r') 上面一句 ...

  3. python中的捕获异常、异常跟踪

    # 捕获异常,打印异常信息 try: 1/0 except Exception as e: print(e) 输出结果是integer division or modulo by zero,只知道是报 ...

  4. python中try except处理程序异常的三种常用方法

    如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序: try: 语句1 语句2 . . 语句N except .........: do somet ...

  5. Python学习_07_错误、异常

    地毯式地过语法终于快要结束了... Python中的常见异常 1.NameError:尝试访问一个未初始化的变量 2. ZeroDivisionError:除数为0 3. SyntaxError:Py ...

  6. Python学习-18.Python中的错误处理(三)

    在某些情况下,我们需要定义自己的异常并且抛出 先定义一个错误: class MyError(BaseException): def __init__(self): pass 上面定义了一个叫MyErr ...

  7. python中若干错误

    今天在运行的django的时候一直提示”系统错误“,如下 except Exception, ex: logger.error(printException()) return render_stri ...

  8. Python 中常见错误总结

    IndentationError: unexpected indent Python 中强制缩进,, IndentationError: unexpected indent 缩进错误 这类错误非常常见 ...

  9. php中的错误和异常

    总结: php错误不会抛出异常,因此不能被catch,但会根据配置写入日志文件或者输出到浏览器,所以可以通过日志文件查看错误 php异常都必须自己抛出,并通过catch捕捉.SQL语句执行的错误好像可 ...

随机推荐

  1. Java实现 蓝桥杯 算法提高 P0101

    算法提高 P0101 时间限制:1.0s 内存限制:256.0MB 提交此题  一个水分子的质量是3.0*10-23克,一夸脱水的质量是950克.写一个程序输入水的夸脱数n(0 <= n &l ...

  2. Java实现 洛谷 P1280 尼克的任务

    import java.util.Scanner; public class Main { public static class edg{ private int to; private int n ...

  3. java实现 蓝桥杯 算法提高 Problem S4: Interesting Numbers 加强版

    1 问题描述 Problem Description We call a number interesting, if and only if: 1. Its digits consists of o ...

  4. java实现三进制转十进制

    ** 三进制转十进制** 不同进制的数值间的转换是软件开发中很可能 会遇到的常规问题.下面的代码演示了如何把键盘输入的3 进制数字转换为十进制.试完善之. BufferedReader br = ne ...

  5. cocos2dx获得字体的宽高

    Android: 1.在CCImage中添加下面的方法: //头文件声明略. cocos2d::CCSize CCImage::getStringSize(const char *text, cons ...

  6. 涨见识了,在终端执行 Python 代码的 6 种方式!

    原作:BRETT CANNON 译者:豌豆花下猫@Python猫 英文:https://snarky.ca/the-many-ways-to-pass-code-to-python-from-the- ...

  7. 为什么zookeeper的节点配置的个数必须是奇数个

    选举机制(FastLeaderElection算法):sid最大且被超过集群中超过半数的机器拥护就会成为leader.所以只有两种情况无法选出leader:整个集群只有2台服务器(注意不是只剩2台,而 ...

  8. Firewalld 的基本使用

    RHEL 7 系统中集成了多款防火墙管理工具,其中 firewalld(Dynamic Firewall Manager of Linux systems,Linux 系统的动态防火墙管理器)服务是默 ...

  9. 02 . Zabbix配置监控项及聚合图形

    安装Zabbix Agent监控本机 安装agent软件 与server端不同,Agent只需安装zabbix-agent包 cat /etc/yum.repos.d/zabbix.repo [zab ...

  10. $.ajax 中的contentType 坑坑

    $.ajax 设置数据类型 applicaiton/json之后,服务器端(express)就拿不到数据. $.ajax 中的 contentType 和 dataType: contentType ...