python 中捕获异常的方式。
要处理异常,要将语句放入except块中。
try:
pass
except RuntimeError as e: # e 为异常类型的一个实例
print(e)
手动引发异常。
raise RuntimeError('这是一个异常')
常见的内置异常。
ArithmeticError
AssertionError
EnvironmentError
EOFError
ImportError
IndexError
KeyboardInterrupt
KeyError
MemoryError
NameError
ReferenceError
RuntimeError
SyntaxError
SystemError
TypeError
ValueError
try:
...
except LookupError as e:
...
except RuntimeError as e:
...
except IOError as e:
...
except KeyboardInterrupt as e:
...
如果一些类型的异常与它们的处理语句相同,可以分为一组。
try:
...
except (IOError,LookupError,RuntimeError) as e:
...
一般来说,这样写并不好,因为你不知道它为什么会抛出异常。
try:
...
except Exception:
print('一个异常')
尝试以下方式捕获异常,并抛出异常说明。
try:
...
except Exception as e:
print('抛出异常 :', e)
finally 指定无论是否发生异常都必须运行的代码。
常用于安全管理资源(尤其是锁、文件等。
try:
...
except Exception as e:
print('抛出异常 :', e)
finally:
print('执行结束')
在现代代码中,try-finally经常用with语句代替。
常见的例子,如下:
with open(filename) as f:
# Use the file
...
# File closed