【Python】异常处理 ② ( 异常类型简介 您所在的位置:网站首页 python列举异常 【Python】异常处理 ② ( 异常类型简介

【Python】异常处理 ② ( 异常类型简介

2024-04-29 12:59| 来源: 网络整理| 查看: 265

一、Python 捕获指定类型异常1、异常类型简介

Python 中的 异常 由 异常类 Exception Class 表示 , 每个异常类都代表一个特定的错误类型 ;

常见的 异常类 :

FileNotFoundError : 表示打开一个不存在的文件错误 ;ZeroDivisionError : 表示除以零的错误 ;ValueError : 表示一个无效的值 ;KeyError : 表示在字典中不存在指定的键 ;IndexError : 表示在列表或元组中不存在指定的索引 ;IOError : 表示 I/O 错误 , 例如无法读取或写入文件 ;

当发生异常时 , 程序会停止执行当前语句 , 并跳转到异常处理程序 Exception Handler , 该程序负责处理异常并防止程序崩溃 ;

在 Python 中 , 可以使用 try-except 语句来 捕获 和 处理异常 ;

2、捕获并处理指定异常

在 Python 中 , 可以捕获指定类型的异常 , 语法如下 :

代码语言:javascript复制try: 可能出现异常的代码块 except 异常类型 as 异常别名: 出现异常后执行的代码块 可使用异常别名获取异常对象3、代码实例 - 捕获并处理指定异常

代码示例 :

代码语言:javascript复制""" 文件操作 代码示例 """ try: open("file3.txt", "r", encoding="UTF-8") except FileNotFoundError as e: print(f"出现异常, 进行异常处理, 异常内容 : {e}") open("file3.txt", "w", encoding="UTF-8")

执行结果 :

代码语言:javascript复制/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 出现异常, 进行异常处理, 异常内容 : [Errno 2] No such file or directory: 'file3.txt' Process finished with exit code 0在这里插入图片描述在这里插入图片描述4、代码实例 - 异常捕获失败案例

如果捕获异常时 , 没有捕获到正确的异常 , 则异常仍然会爆出 , 程序会被终止 ;

在下面的代码中 , 捕获的是 FileNotFoundError , 如果出现了其他类型的异常 , 如 ZeroDivisionError , 则会直接导致程序停止运行 ;

下面的代码中执行了 num = 1 / 0 代码 , 会报 ZeroDivisionError 异常 ;

代码示例 :

代码语言:javascript复制""" 文件操作 代码示例 """ try: num = 1 / 0 open("file3.txt", "r", encoding="UTF-8") except FileNotFoundError as e: print(f"出现异常, 进行异常处理, 异常内容 : {e}") open("file3.txt", "w", encoding="UTF-8")

执行结果 :

代码语言:javascript复制/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py Traceback (most recent call last): File "/Users/zyq/PycharmProjects/Hello/main.py", line 6, in num = 1 / 0 ZeroDivisionError: division by zero Process finished with exit code 1二、Python 捕获多个类型异常1、捕获多个异常语法

捕获多个异常语法 :

代码语言:javascript复制try: 可能出现异常的代码块 except (异常类型1, 异常类型2, 异常类型3, ...) as 异常别名: 出现异常后执行的代码块 可使用异常别名获取异常对象2、代码实例 - 捕获多个异常

在下面的代码中可能出现 FileNotFoundError, ZeroDivisionError 两种异常 , 在进行异常捕获时同时捕获这两种异常 ;

执行时 , 如果出现了这两种异常中的一种, 异常会被捕获 , 并进行处理 ;

代码示例 :

代码语言:javascript复制""" 文件操作 代码示例 """ try: num = 1 / 0 open("file3.txt", "r", encoding="UTF-8") except (FileNotFoundError, ZeroDivisionError) as e: print(f"出现异常, 进行异常处理, 异常内容 : {e}")

执行结果 :

代码语言:javascript复制/Users/zyq/PycharmProjects/Hello/venv/bin/python /Users/zyq/PycharmProjects/Hello/main.py 出现异常, 进行异常处理, 异常内容 : division by zero Process finished with exit code 0


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有