Python异常处理


捕获异常


服务器程序一般需要在内部错误发生时依然保持工作。如果不想要默认的异常行为,就需要把调用包装在try语句中,自行捕捉异常。 使用try/except语句,捕捉由python或者用户引起的异常并恢复。当try代码块执行时触发异常,Python会自动跳至处理器。在真实的程序中,try语句不仅会捕获异常,也会从中恢复执行。
>>>def catcher():
...         try:
...              fetcher(x,4)
...         except INdexError:
...              print('got exception')
...         print('continuing')

>>>catcher()
got exceptiom
continuing
>>>

引发异常


异常能由python或程序引发,也能捕捉或者忽略。要手动触发异常,直接执行raise语句。如下所示:
>>>try:
...         rasie IndexError
...     except IndexError:
...         print('got exception')
...
got exception

终止行为


可以使用try/finally的组合,可以定义一定会在最后执行时的收尾行为,无论try代码块是否执行。
>>> try:
...     print 'm'
... finally:
...     print('after fetch')

'm'
after fetch
>>>

评论关闭