捕获异常
服务器程序一般需要在内部错误发生时依然保持工作。如果不想要默认的异常行为,就需要把调用包装在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
>>>