1.如何手动抛出异常:通过raise语句,直接抛出相关类型的异常。
def set_age(age): if age <= 0 or age > 200: # print("值错误") raise ValueError("值错误") else: print("给张三的年龄设置为", age) try: set_age(-18) except Exception as e: print("x", e)
什么时候应该向外界抛出异常?
当有可能出现严重错误的时候,必须要向外界抛出异常信息。迫使模块使用者检查。
什么时候应该内部做好容错处理?
2.如何自定义异常:
class LessZero(Exception): def __init__(self, msg, erro_code): self.msg = msg self.ec = erro_code def __str__(self): return self.msg + str(self.ec) pass def set_age(age): if age <= 0 or age > 200: # print("值错误") raise LessZero("小于0这个错误", 404) else: print("给张三的年龄设置为", age) try: set_age(-18) except Exception as e: print("x", e)