In: div(1, 0) Out: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 2, in div ZeroDivisionError: division by zero
Out: finally Traceback (most recent call last): File "<stdin>", line 2, in <module> File "<stdin>", line 2, in div ZeroDivisionError: division by zero
组合 try 语法
将上面的形式合并起来代码如下:
defdiv(a, b): try: result = a / b except ZeroDivisionError as e: # as 关键字相当于把捕获到的异常加个别名, 在这里是 e print(e) else: print('result is', result) finally: print('executing finally clause')
In: div(1, 0) Out: division by zero executing finally clause
In: div(1, 2) Out: result is0.5 executing finally clause
Out: executing finally clause Traceback (most recent call last): File "E:/develop/dog_book/demo.py", line 17, in <module> div('1', 2) File "E:/develop/dog_book/demo.py", line 3, in div result = a / b TypeError: unsupported operand type(s) for /: 'str'and'int' ```