如何在Python中优雅地处理异常?示例解析
在 Python 中,优雅地处理异常可以通过以下几个方面实现:
- 使用 try/except 块:
当你不确定一个函数或方法会不会抛出异常时,可以将它包裹在一个 try 块内。然后,在 except 块中定义你希望如何处理这些异常。
def divide_numbers(a, b):
try:
result = a / b
return result
except ZeroDivisionError:
print("Can't divide by zero!")
return None
# 使用示例
num1 = 10
num2 = 0
result = divide_numbers(num1, num2)
if result is not None:
print(f"The division result is {result}.")
- 使用
finally
块:
在 try/except/finally 块中,无论是否发生异常,finally
块中的代码都会被执行。
def safe_division(a, b):
try:
return a / b
except ZeroDivisionError:
print("Can't divide by zero!")
return None
finally:
# 在这里执行任何必要操作(清理资源等)
pass
# 使用示例
num1 = 10
num2 = 0
result = safe_division(num1, num2))
if result is not None:
print(f"The division result is {result}."))
- 使用
assert
声明:
在某些情况下,你可以使用assert
命令来检查条件是否满足。如果条件不满足,程序会立即停止执行。
def safe_division(a, b):
assert a != 0 and b != 0, "Can't divide by zero!"
return a / b
# 使用示例
num1 = 10
num2 = 0
result = safe_division(num1, num2))
if result is not None:
print(f"The division result is {result}."))
通过上述方式,你可以优雅地处理 Python 中的异常。
还没有评论,来说两句吧...