0.异常处理
异常指的是程序运行中出现的各种错误,会导致程序中断执行。
异常处理则是对程序可能出现的错误做一定的处理,以保证程序的正常运行。
1.Python中的异常处理机制
python内置了一系列的异常类,这些类中包括了通常可能出现的各种异常情况,在使用的时候,就可以直接调用这个类,来获取异常。(内置异常继承自exception类,自定义异常也可以继承内置的类或者直接继承exception来生成新的类)。如果需要自定义类,则继承exception类,而后,在运行中捕获这个异常。内置异常类如下:
1 ArithmeticError 2 AssertionError 3 AttributeError 4 BaseException 5 BufferError 6 BytesWarning 7 DeprecationWarning 8 EnvironmentError 9 EOFError 10 Exception 11 FloatingPointError 12 FutureWarning 13 GeneratorExit 14 ImportError 15 ImportWarning 16 IndentationError 17 IndexError 18 IOError 19 KeyboardInterrupt 20 KeyError 21 LookupError 22 MemoryError 23 NameError 24 NotImplementedError 25 OSError 26 OverflowError 27 PendingDeprecationWarning 28 ReferenceError 29 RuntimeError 30 RuntimeWarning 31 StandardError 32 StopIteration 33 SyntaxError 34 SyntaxWarning 35 SystemError 36 SystemExit 37 TabError 38 TypeError 39 UnboundLocalError 40 UnicodeDecodeError 41 UnicodeEncodeError 42 UnicodeError 43 UnicodeTranslateError 44 UnicodeWarning 45 UserWarning 46 ValueError 47 Warning 48 ZeroDivisionError
异常的使用则是通过try...except...else...fially语句来实现完成。
下面是各个语句的执行时所发生的作用:
try:
需要判断的语句(code)
except:
异常处理语句(handle)
else:
如果try为真时,执行的代码(next)
finally:
不论是否出现异常都需要执行的代码(end)
而针对不同的情况,有多种的方式可以使用:
(1)简单try...except通用句法
try:
code
except Exception as e:
handle
(2)try...except与具体情况:
不区分优先级:
try:
code
except [异常类]...[异常类]:
handle
区分优先级:
try:
code
except 异常1:
handle1
except 异常2:
handleer3
...
except Exception as e:
handle
异常的抛出:
主要是使用Raise语句来实现,通过:
Raise 异常类型['说明语句']
3.python异常处理机制与if...else:
可以发现,try...except与if...else语法存在一定的相似性,不过,阿领着使用有是不同的,两者之间的差别是什么呢
if ...else用于确定的情啊狂,明确会发生某种情况
try...except则用于不确定的情况下来使用。