Python-错误和异常处理

错误 Error

逻辑错误:算法写错了,例如加法写成了减法,笔误,例如变量名写错了,语法错误。

函数或类使用错误,其实这也属于逻辑错误,总之,错误是尅避免的。

异常 Exception

本意是意外情况,这有个前提,没有出现上面说的错误,也就是说程序写的没问题,但是在某些情况下,会出现一些意外的情况导致应用程序无法正常的执行下去。

例如使用open打开一个文件,文件不存在,或者创建一个文件文件已经存在(使用mode='x'),或者访问一个网络文件,突然断网了,这就是异常,是一个意外的情况。

异常是不可避免的。 

错误和异常

在高级编程语言中,一般都有错误和异常的概念,异常是可以捕获,并被处理的,但是错误是不能被捕获的。

示例:

异常

 错误

 一个健壮的程序尽可能的避免错误,尽可能的捕获、处理各种异常。

产生异常

产生:

  raise语句显式的抛出异常。

  Python解释器自己检测到异常并引发它

def foo():
    print('before')
    print(1/0)
    print('after')
foo()

#输出
Traceback (most recent call last):
  File "D:/Python/错误和异常处理.py", line 5, in <module>
    foo()
  File "D:/Python/错误和异常处理.py", line 3, in foo
    print(1/0)
ZeroDivisionError: division by zero
before
def bar():
    print('before')
    raise Exception('my exception')
    print('after')
bar()

#输出
Traceback (most recent call last):
  File "D:/Python/错误和异常处理.py", line 12, in <module>
    bar()
  File "D:/Python/错误和异常处理.py", line 10, in bar
    raise Exception('my exception')
Exception: my exception
before

程序会在异常抛出的地方中段执行,后面的语句则不会将在执行,如果不捕获,就会提前结束程序。

猜你喜欢

转载自www.cnblogs.com/alrenn/p/12956245.html