知行编程网知行编程网  2022-08-16 07:00 知行编程网 隐藏边栏  12 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于如何捕获Python中的异常的相关知识,包括网页异常捕获,以及java中的捕获特定的异常这些编程知识,希望对大家有参考作用。

如何在 Python 中捕获异常

Python 提供了一个 try except 语句来捕获和处理异常。异常处理语句的基本语法结构如下:

try:
    可能产生异常的代码块
except [(Error1, Error2, ...) [as e]]:
    处理异常的代码块1
except [(Error3, Error4, ...) [as e]]:
    处理异常的代码块2

该格式中,[] 括起来的部分可以使用,也可以省略;(Error1,Error2,...) 、(Error3,Error4,...) 表示各自的 except 块可以处理异常的具体类型;[as e] 表示将异常类型赋值给变量 e(方便在 except 块中调用异常类型)。

注意,except 后面也可以不指定具体的异常名称,这样的话,表示要捕获所有类型的异常。

另外,从 try except 的基本语法格式可以看出,try 块仅有一个,但 except 代码块可以有多个,这是为了针对不同的异常类型提供不同的异常处理方式。当程序发生不同的意外情况时,会对应不同的异常类型,Python 解释器就会根据该异常类型来决定使用哪个 except 块来处理该异常。

通过在 try 块后提供多个 except 块可以无须在异常处理块中使用 if 判断异常类型,但依然可以针对不同的异常类型提供相
应的处
理逻辑,从而提供更细致、更有条理的异常处理逻辑。

try except 语句的执行流程如下:首先执行 try 中的代码块,如果执行过程中出现异常,系统会自动生成一个异常对象,该异常对象会提交给 Python 解释器,此过程被称为引发异常。当 Python 解释器收到异常对象时,会寻找能处理该异常对象的 except 块,如果找到合适的 except 块,则把该异常对象交给该 except 块处理,这个过程被称为捕获异常。如果 Python 解释器找不到捕获异常的 except 块,则程序运行终止,Python 解释器也将退出。

事实上,无论程序代码块是在try块中,还是在except块中的代码,只要代码块执行时出现异常,系统总会自动生成一个Error对象。如果程序没有为这段代码定义任何except块,Python解释器找不到处理异常的except块,程序停止运行;相反,如果程序出现异常,并且异常被 try 捕获并被 except 处理,程序将继续执行。


举个例子:

try:
    a = int(input("输入被除数:"))
    b = int(input("输入除数:"))
    c = a / b
    print("你输入的两个数相除的结果是:", c )
except (ValueError, ArithmeticError):
    print("程序发生了数字格式异常、算术异常之一")
except :
    print("未知异常")
print("程序继续运行")

程序运行结果为:

输入被除数:a
程序发生了数字格式异常、算术异常之一
程序继续运行

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享