try...except...finally
这是 python 中最常用的异常处理结构,用于捕获异常并执行相应的处理逻辑。try 块包含要执行的代码,except 块包含捕获异常后的处理逻辑,finally 块包含无论是否发生异常都会执行的代码。例如:
try: # 执行代码 except Exception as e: # 捕获异常并处理 finally: # 无论是否发生异常都会执行的代码
raise
raise 语句用于抛出异常,可以指定要抛出的异常类型和异常信息。例如:
raise ValueError("无效的参数值")
assert
assert 语句用于检查某个条件是否成立,如果不成立则抛出 AssertionError 异常。例如:
assert x > 0, "x must be greater than 0"
自定义异常
你可以创建自己的异常类,继承自 Exception 类。例如:
class MyError(Exception): pass raise MyError("我的错误")
使用 logging 模块记录异常
logging 模块可以用来记录异常信息。例如:
import logging try: # 执行代码 except Exception as e: logging.error("发生异常", exc_info=True)
使用上下文管理器处理异常
上下文管理器是一种用来简化异常处理的机制。例如:
with open("file.txt", "r") as f: # 执行代码
如果在 with 块中发生异常,则会自动关闭文件 f。
使用异常来控制程序流程
异常也可以用来控制程序流程。例如,你可以使用异常来实现循环或分支。例如:
while True: try: # 执行代码 except KeyboardInterrupt: break
使用异常来进行单元测试
异常也可以用来进行单元测试。例如,你可以使用异常来检查函数是否抛出了正确的异常。例如:
import unittest class MyTestCase(unittest.TestCase): def test_my_function(self): with self.assertRaises(ValueError): my_function(-1)
上述技巧可以帮助你更好地处理异常,提高代码的健壮性。
以上是Python 异常处理技巧大公开,助你成为编程高手的详细内容。更多信息请关注PHP中文网其他相关文章!