BaseException:全部異常的基類python
try: filename = input('請輸入文件名:') open('%s.txt' % filename) except FileNotFoundError: print('%s文件沒有找到!' % filename)
二、try...except ...else...(沒有異常的時候會執行else中的語句)ui
try: filename = input('請輸入文件名:') open('%s.txt' % filename) except FileNotFoundError: print('%s文件沒有找到!' % filename) else: print('正確找到文件!')
三、try...except...finallycode
try: filename = input('請輸入文件名:') open('%s.txt' % filename) except FileNotFoundError: print('%s文件沒有找到!' % filename) finally: print('end')
四、try...except...as...對象
try: print(car) except BaseException as msg: print(msg)
五、raise
前面try語句是在執行過程當中捕獲代碼塊中的異常,而raise是經過事先定義一個條件,一旦符合異常條件,就拋出異常。raise只能用於Python標準異常類。input
def devision(x, y): def devision(x, y): if y == 0: raise ZeroDivisionError('Zero is not allowed') return x / y try: x = eval(input('x=')) y = eval(input('y=')) print(devision(x, y)) except ZeroDivisionError as msg: print(msg)
BaseException:全部異常的基類
SystemExit:解釋器請求utuichu
KeyboardInterrupt:用戶中斷執行(一般是輸入^C)
Except:常規錯誤基類
StopIteration:迭代器沒有更多值
GeneratorExit:生成器(generator)發生異常來通知退出
StandardError:全部內建標準異常的基類
ArithmeticError:全部數值計算錯誤的基類
FloatingPointError:浮點計算錯誤
OverflowError:數值運算超出最大限制
ZeroDivisionError:除或者取模零generator