前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中处理多个异常

python中处理多个异常

作者头像
刘金玉编程
发布2019-09-19 17:30:27
4.1K0
发布2019-09-19 17:30:27
举报
文章被收录于专栏:编程创造城市编程创造城市

知识回顾

自定义异常:

1.自定义类

2.学会继承,继承Exception

3.自定义异常的构造函数

4.手动抛出异常使用raise


本节知识视频教程

以下开始文字讲解:

一、处理多个异常

1.把所有的异常进行明细化,确定异常条件,直接处理已知的异常,分别进行处理。

这种情况下就是多次使用except这个关键词来处理异常。

2.统一处理所有异常,把多个已知的异常归类到一起处理。

我们把多个明确的异常归类到一起,用同一种方式来进行处理。我们把多个异常写到同一个except中用小括号括起来,中间的异常用逗号隔开。

except(MyCustomerException1,MyCustomerException2):

print("这里处理异常1和异常2的结果")

3.处理其它未知的异常。

处理未知异常的技巧就是在except后面不要加某一种异常情况,此时默认会处理所有的未知异常。

二、案例:做多个异常处理的案例

1.自定义多个异常

2.根据实际情况,来调用自定义的几个异常

3.处理异常

三、捕获异常取别名

在try…except语句中的except语句后面实际的异常,如果类名太长,我们可以取别名。格式 except 类常类名 as 别名

except MyCustomerException1 as mce1:

四、总结强调

1.掌握所有异常情况的情况方法try。。。Except

2.掌握自定义异常的处理方法

3.掌握异常的明细化处理

4.掌握自定义异常的构造函数的信息传入和输出

5.掌握使用同一个except处理多个异常

本节知识源代码;

代码语言:javascript
复制
#第一个自定义异常
class MyCustomerException1(Exception):
    def __init__(self,code=100,desc="异常消息:100"):
        self.code=code
        self.desc=desc

#自定义第二个异常
class MyCustomerException2(Exception):
    pass

a=input("请输出一个值:")

# try:
#     if a=="qqq":
#         raise MyCustomerException1
#     elif a=="123":
#         raise MyCustomerException2("这里异常为2")
#     else:
#         b=a/0
# except MyCustomerException1 as mce1:
#     print("这里触发了第一个异常",mce1.code,mce1.desc)
# except MyCustomerException2:
#     print("这里触发了第二个异常")
# except:
#     print("这里处理未知异常")


try:
    if a=="qqq":
        raise MyCustomerException1
    elif a=="123":
        raise MyCustomerException2("这里异常为2")
    else:
        b=a/0
except(MyCustomerException1,MyCustomerException2):
    print("这里处理异常1和异常2的结果")
except:
    print("未知异常")
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档