python-异常处理3

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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值