python try 异常处理(史上最全)

Python Try-Except 异常处理指南

Python 中的异常处理是一种用于处理程序出现错误和异常情况的技术。在开发过程中,程序出现错误是一种必然情况,通过合理的异常处理,能够使我们的程序更加稳定和健壮。本文将介绍 Python 中关于异常处理的知识点。

异常概述

异常是指在程序运行时发生的错误,例如访问不存在的变量、除数为零、调用不存在的方法等。当异常出现时,程序就会停止运行并抛出异常。Python 中提供了简便的处理异常的代码框架,即 try 和 except 语句。

try-except 语句

Python 中 try-except 语句的基本结构如下:

try:
    # 尝试执行的代码块
except ExceptionType:
    # 发现指定类型异常时执行的代码块

try 语句块中执行某个任务时,如果发生了预设范围内的异常,程序就跳入 except 代码块,进行相应的处理。

以下是 try-except 的示例:

try:
    a = 100 / 0
except ZeroDivisionError:
    print("除数为零")

以上代码中,程序会尝试除以 0,这时就会引发一个 ZeroDivisionError 异常,程序就会跳入 except 代码块,输出“除数为零”这条信息。

可以用来处理的异常类型很多,例如 NameError、TypeError、ValueError、FileNotFoundError 等。可以使用 except Exception 代替指定的单个异常类型,当发生任意一种异常时,就跳入 except 代码块。

try-except-else 语句

当使用 try-except 语句时,有时可能希望在没有发生错误时执行某个代码块,可以使用 try-except-else 来实现:

try:
    # 尝试执行的代码块
except ExceptionType:
    # 发现指定类型异常时执行的代码块
else:
    # 没有发生异常时执行的代码块

以下是 try-except-else 的示例:

try:
    a = 3
    b = 2
    c = a + b
except:
    print("发生了一个异常")
else:
    print("没有发生异常")

程序中 a 和 b 可以成功相加,所以不会跳入 except 代码块。于是程序会执行 else 代码块中的内容,“没有发生异常”就会输出。

try-except-finally 语句

有时候无论程序是否出现异常,都需要执行一段代码,try-except-finally 就可以做到这一点:

try:
    # 尝试执行的代码块
except ExceptionType:
    # 发布指定类型异常时执行的代码块
finally:
    # 最后一定要执行的代码块

以下是 try-except-finally 的示例:

try:
    a = 8
    b = 2
    c = a / b
except:
    print("发生了一个异常")
finally:
    print("完成异常处理")

程序中 a 和 b 可以成功相加,所以不会跳入 except 代码块。无论是否出现异常,finally 代码块都会被执行,输出“完成异常处理”。

自定义异常

在 Python 中,我们可以自己定义一些异常类型,来适应程序中的一些特定问题。自定义异常需要从 BaseException 类或者其子类中继承。以下是自定义异常的代码示例:

class MyException(Exception):  
    def __init__(self, message):  
        Exception.__init__(self)  
        self.message = message  

try:  
    raise MyException("自己的异常类型")  
except MyException as e:  
    print(e.message)  

以上代码中,MyException 类继承 Exception,自定义了一个名为 message 的属性,用于存储异常信息。使用 raise 语句抛出 MyException 类型异常,最终得到的结果就是打印出 message 中的“自己的异常类型”。

小结

Python 中的异常处理能够帮助我们处理那些在编写程序过程中出现的问题。使用 try-except-else 或 try-except-finally 等语句,可以帮助我们更好地管理异常。自定义异常可以让我们针对程序中的不同问题达到更好的解决效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python try 异常处理(史上最全) - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python深度学习实战PyQt5安装与环境配置过程详解

    Python深度学习实战PyQt5安装与环境配置过程详解 简介 本篇文章旨在介绍Python深度学习实战PyQt5的安装过程和环境配置,使读者在学习这门技术时少走弯路。 安装Python 首先,我们需要安装Python。Python是一种高级编程语言。在安装Python之前,需要确定你的计算机是否已安装Python,如果没有,你需要在Python的官网(ht…

    python 2023年5月14日
    00
  • Python中输入若干整数以逗号间隔实现统计每个整数出现次数

    首先,我们需要了解Python中的input函数和列表的操作。 input函数可以让用户在命令行中输入一段字符串,而列表则是可以保存一组数据,其中每个元素都有一个对应的下标。 根据题目要求,我们需要让用户输入若干整数以逗号间隔,然后统计每个整数出现的次数。因此,我们可以先调用input函数获取用户输入: num_str = input("请输入若干…

    python 2023年6月3日
    00
  • Python3实现定时任务的四种方式

    下面是Python3实现定时任务的四种方式的详细攻略: 1. 使用time模块的sleep函数 使用time模块的sleep函数可以让程序暂停一定的时间,从而实现定时任务的效果。代码示例: import time while True: # 每5秒执行一次任务 print("执行定时任务") time.sleep(5) 在上面的代码中,使…

    python 2023年5月19日
    00
  • Python-Selenium-Chrome 最小化窗口正在最大化自身

    【问题标题】:Python-Selenium-Chrome minimized window is maximizing itselfPython-Selenium-Chrome 最小化窗口正在最大化自身 【发布时间】:2023-04-07 19:31:01 【问题描述】: 我在 Python 中使用 Selenium 和 chromedriver 来并行测…

    Python开发 2023年4月8日
    00
  • 基于Python制作一款屏幕颜色提取器

    下面是制作屏幕颜色提取器的完整攻略: 1. 准备工作 在制作屏幕颜色提取器之前,我们需要安装 Python 以及一些必要的库,这些库包括 Pillow(用于处理图片)、PyAutoGUI(用于获取鼠标位置)和 webcolors(用于将 RGB 值转换为颜色名称)。我们可以使用以下命令来安装这些库: pip install Pillow PyAutoGUI …

    python 2023年6月3日
    00
  • python读取有密码的zip压缩文件实例

    如果要使用 Python 读取有密码的 zip 压缩文件,可以使用 Python 内置的 zipfile 模块和 pyminizip 第三方模块。接下来我们分别介绍这两个模块的使用方法。 使用 Python 内置的 zipfile 模块 步骤一:安装 unzip 命令 在使用 zipfile 模块之前,我们需要先安装 unzip 命令。如果你使用的是 Ubu…

    python 2023年6月3日
    00
  • python中使用xlrd读excel使用xlwt写excel的实例代码

    我将为您提供一份详细的实例教程。首先,我们需要安装两个库xlrd和xlwt,可以通过以下命令安装: pip install xlrd xlwt 然后,我们可以开始写代码了。假设我们有一个名为”example.xlsx”的excel文件,其中有两个工作表”Sheet1″和”Sheet2″,我们需要读取”Sheet1″中的数据并写入到”Sheet2″中。以下是完…

    python 2023年5月13日
    00
  • 为什么是 Python -m

    当我们安装了 Python 后,我们可以在命令行中使用 Python 命令来运行 Python 脚本或者交互式的 Python 解释器。不过,如果我们的 Python 环境中同时安装了多个版本的 Python,那么直接使用 Python 命令运行脚本或者交互式解释器时,会默认使用系统环境变量 $PATH 中的 Python 版本。 为了避免这种情况,我们可以…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部