2026-10-30 12:11:15
在Python中,raise关键字用于主动抛出异常,而自定义异常类则允许开发者根据具体需求创建特定的异常类型。以下是对代码实例的详细解析及关键点说明:
1. 自定义异常类的创建自定义异常类需继承BaseException(或其子类如Exception),通常包含以下结构:
class Wrong(BaseException): # 继承BaseException def __init__(self, message): # 初始化方法 self.message = message def __str__(self): # 魔法方法,定义异常的字符串表示 return self.message在count()函数中,通过raise主动触发自定义异常:
def count(): try: print('1+1=3') raise Wrong('错了,1+1应该等于2') # 抛出Wrong异常 except Wrong as err_w: # 捕获自定义异常 print(err_w) # 输出: 错了,1+1应该等于2执行print('1+1=3')输出字符串。
raise Wrong(...)抛出异常,中断当前代码块,跳转到except。
except Wrong as err_w捕获异常,并通过print(err_w)调用__str__方法输出错误信息。
自定义异常可与多种异常处理结构结合使用:
示例:
try: raise Wrong("测试finally")except Wrong as e: print(e)finally: print("清理资源") # 总会执行4. 关键点总结通过自定义异常和raise,Python代码可以更灵活地处理错误场景,提升可读性和可维护性。