python 异常捕获

python 异常捕获

    • try-except 语句
    • 内置异常
    • 捕获多个错误
    • 捕获所有异常
    • finally
    • with

try-except 语句

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

finally 指定无论是否发生异常都必须运行的代码。
常用于安全管理资源(尤其是锁、文件等。

try:
    ...
except Exception as e:
    print('抛出异常 :', e)
finally:
	print('执行结束')

with

在现代代码中,try-finally经常用with语句代替。

常见的例子,如下:

with open(filename) as f:
    # Use the file
    ...
# File closed

你可能感兴趣的:(python,python,异常捕获)