Python学习之--异常处理

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

Python中的Exceptions是所有异常的基类,内置的异常类都放在了exceptions模块中,通过dir()函数可以看到这些内置的类

通过raise 语句触发异常,如

>>>raise Exception

>>>importexceptions

>>>dir(exceptions)

['ArithmeticError','AssertionError','AttributeError','BaseException','BufferError','BytesWarning','DePRecationWarning','EOFError','EnvironmentError','Exception','FloatingPointError','FutureWarning','GeneratorExit','IOError','ImportError','ImportWarning','IndentationError','IndexError','KeyError','KeyboardInterrupt','LookupError','MemoryError','NameError','NotImplementedError','OSError','OverflowError','PendingDeprecationWarning','ReferenceError','RuntimeError','RuntimeWarning','StandardError','StopIteration','SyntaxError','SyntaxWarning','SystemError','SystemExit','TabError','TypeError','UnboundLocalError','UnicodeDecodeError','UnicodeEncodeError','UnicodeError','UnicodeTranslateError','UnicodeWarning','UserWarning','ValueError','Warning','ZeroDivisionError','__doc__','__name__','__package__']

当代码遇到错误的时候,会逐层向上传播,如果没有捕捉异常的机制,错误会传递到全局变量的位置,导致程序报错终止.

在python中可以通过 try/except来捕捉异常,except 可以跟上内置的异常类,或者自定义的异常类

1importexceptions2try:3printa4exceptNameError:5print'名字未定义'

View Code

也可以捕捉多个异常,用元组把它们列出来就可以了,另外如果要访问异常对象本身,except语句在加上一个参数就可以了如

importexceptionstry:printaexceptNameError,e:printe

View Code

注意:在python 3.0中 except语句会写成 execpt NameError as e :

其他语句:

else语句: 只有在没有异常的情况下,else才会执行.

finally语句: 在异常处理语句中,都会执行.

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航