python中处理多个异常

简介: python中处理多个异常

知识回顾



自定义异常:

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处理多个异常


本节知识源代码;

#第一个自定义异常
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("未知异常")
相关文章
|
28天前
|
测试技术 开发者 Python
对于Python中的异常要如何处理,raise关键字你真的了解吗?一篇文章带你从头了解
`raise`关键字在Python中用于显式引发异常,允许开发者在检测到错误条件时中断程序流程,并通过异常处理机制(如try-except块)接管控制。`raise`后可跟异常类型、异常对象及错误信息,适用于验证输入、处理错误、自定义异常、重新引发异常及测试等场景。例如,`raise ValueError("Invalid input")`用于验证输入数据,若不符合预期则引发异常,确保数据准确并提供清晰错误信息。此外,通过自定义异常类,可以针对特定错误情况提供更具体的信息,增强代码的健壮性和可维护性。
|
26天前
|
Python
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
42 5
|
27天前
|
Python
在Python中,自定义函数可以抛出自定义异常
在Python中,自定义函数可以抛出自定义异常
42 5
|
27天前
|
存储 开发者 Python
自定义Python的异常
自定义Python的异常
14 5
|
2月前
|
存储 索引 Python
|
2月前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
5月前
|
Unix API Python
【Python】已完美解决:(Python3.8异常)AttributeError: module ‘time‘ has no attribute ‘clock‘
【Python】已完美解决:(Python3.8异常)AttributeError: module ‘time‘ has no attribute ‘clock‘
107 0
|
2月前
|
设计模式 安全 JavaScript
Python学习八:面向对象编程(下):异常、私有等
这篇文章详细介绍了Python面向对象编程中的私有属性、私有方法、异常处理及动态添加属性和方法等关键概念。
26 1
|
3月前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包
|
2月前
|
开发者 索引 Python
Python常见的异常总结
Python 中的异常是一个非常广泛的主题,因为它包含许多内置的异常类型,这些类型可以处理各种运行时错误。
34 0