异常 | 描述 |
NameError | 尝试访问一个没有声明的变量 |
ZeroDivisionError | 除数为0 |
SyntaxError | 语法错误 |
IndexError | 索引超出序列范围 |
KeyError | 请求一个不存在的字典关键字 |
IOError | 输入/输出错误(比如你要读的文件不存在) |
AttributeError | 尝试访问未知的对象属性 |
PRint(e)5.3.3 else语句
try:
print("I am try")
except:
print("I am except")
else:
print("I am else")
I am try
I am else
try:
print(1/0)
except:
print("I am except")
else:
print("I am else")
I am exceptexcept(Exception)as e: 不管什么异常都会捕获,并且传给变量e。5.3.4 finally子句
有了finally,不管前面执行的是try,还是except,最终都要执行finally。因此,有一种说法是将finally用在可能的异常后进行清理。5.3.5 assert语句
>>> assert 1==1
>>> assett 1==0
File "<stdin>", line 1
assett 1==0
^
SyntaxError: invalid syntaxassert,翻译过来就是“断言”之意。assert是语句等价于布尔真的判定,发生异常就意味着表达式为假。应用情境就和意思一样,当程序运行到某个节点的时候,就断定某个变量的值是什么,或者对象必然拥有某个属性等,简单说就是断定什么东西必然是什么,如果不是,就抛出错误。如果没有特别的目的,断言应该用于如下情况:防御性的编程。运行时对程序逻辑的检测。合约性检查(比如前置条件,后置条件)。程序中的常量。检查文档。(python使用断言的最佳时机)
新闻热点
疑难解答