Python 有两种错误很容易辨认:语法错误和异常。
Python 的语法错误或者称之为解析错
即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。
python采用try...except...finally...
的错误处理机制,当我们认为某些代码可能会出错时,就可以用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕。
一个try语句可以和多个except语句结合,也可以与else语句结合
try:
a=[1,2,3]
print(a[100])
except IndexError as e:
print(e)
except NameError as n:
print(n)
else:
print("没有异常发生")
print('after except')
try:
a=1/0
#不知道会出现哪种异常,可以采用以下方法捕捉异常,但是不推荐
except:
print("出现异常了")
Python 使用 raise 语句抛出一个指定的异常,raise 唯一的一个参数指定了要被抛出的异常。它必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。
如果你只想知道这是否抛出了一个异常,并不想去处理它,那么一个简单的 raise 语句就可以再次把它抛出。
def divide(x,y):
if y==0:
raise Exception("divide zero except")
return x/y
try:
divide(19,0)
except Exception as e:
print(e)