目录
try-except语句
Python中的异常处理是一种错误管理机制,它允许程序在遇到错误或异常情况时不会立即崩溃,而是能够捕获并处理这些问题,保证程序的健壮性。在Python中,可以通过try-except
语句块来进行异常处理:
try:
# 可能会抛出异常的代码段
code_that_might_raise_error
except ExceptionType:
# 如果发生指定类型的异常,执行这个代码块
handle_the_exception
finally语句
ExceptionType
可以是你想要捕捉的具体异常类型,比如ZeroDivisionError
、ValueError
等。如果没有任何except
子句匹配到,异常就会传递给上一层的try
块,直到被捕获或导致程序终止。
此外,还可以使用finally
关键字定义一段无论是否发生异常都需要执行的代码,通常用于资源清理操作:
try:
...
except:
...
finally:
# 这部分代码始终会被执行
clean_up_resources()
除了except
,在Python的异常处理结构中还有两个重要的关键词:
raise语句
用于手动引发一个异常。当你需要提前结束当前代码块,并将控制权交给最近的except
子句处理时,可以使用raise
。你可以直接抛出预定义的异常类型,也可以自定义异常实例:
try:
# 如果条件不符合预期,我们可以选择raise异常
if condition_is_false:
raise ValueError("Invalid input")
except ValueError as e:
print(f"Caught an error: {e}")
assert语句
虽然不是标准的异常处理,但在调试阶段常常用于断言某个条件为真,如果条件为假则会引发AssertionError
异常。这是一种更简洁的检查方式,通常用在代码执行前对某些假设进行验证:
assert variable > 0, "Variable must be positive"