抛异常

本文通过生动的例子,如快递丢失、公司问题上报及代码错误处理,深入浅出地讲解了异常处理的重要性。介绍了如何自定义异常,以及如何利用异常处理机制简化代码,提高程序的健壮性和可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

抛异常

引题:
例2 比如电商公司发快递,路上出现突发的龙卷风,然后快递上天了找不到,最后客户投诉。客服人员将这个之前从未有过的状况报告公司。
例4 公司里出现一个问题,基层员工没有权利决定,他就叫来了部门经理,部门经理也没有解决,就上报更上一级的领导。
例5 一个代码项目比较大,几十个模块但比较相似,如果用户表单输入错误 需要补货异常打印信息。但每个模块都写提示信息的话重复累。可以抛异常给上层函数,最终由专门的异常处理函数打印信息。

所以,代码中遇到问题有时主动抛出异常,交给上层函数处理。遇到新问题需要自定义异常。错误可控,有点小问题就可以主动抛异常 终止程序运行。

class DivisionError(ValueError):    # 自定义异常类
    pass

def foo(num):
    if num == 0:
        # raise Exception
        # raise ValueError('除数不能为0')
        # raise ZeroDivisionError('除数不能为0')
        raise DivisionError('除数不能为0')
    # print(10/num)
foo(1)
foo(2)
foo(0)

# 自定义异常信息,中文或跟项目相关信息。  raise ValueError('除数不能为0')
# 可以自定义异常类,自定义类可以继承系统内置异常类。
# 错误类的层级关系   Exception → ArithmeticError → ZeroDivisionError
# 抛异常好处:自定义;把问题集中处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值