Python 异常处理Ⅳ过程图解

Python 异常处理过程图解

概述

异常处理是编写高可靠性程序的关键技能。当发生异常时,程序不会终止,而是跳转到相应的异常处理代码块。Python 中的异常处理包括 try、except、else 和 finally 四个关键字。错误类型需要与 Exception 类或其子类相匹配。

异常处理过程图解

异常处理流程如下:

  1. 程序运行,尝试执行 try 代码块的语句。
  2. 如果 try 代码块执行成功,则跳过 except 代码块,执行后续代码。
  3. 如果 try 代码块执行失败,程序会匹配 except 代码块中的错误类型。
  4. 如果错误类型匹配,执行对应的 except 代码块中的语句,并跳过后续 except 代码块与 finally 代码块。
  5. 如果错误类型不匹配,程序会查找下一个 except 代码块并尝试匹配错误类型,如果都无法匹配,则抛出异常,导致程序终止。
  6. 如果 try 或 except 代码块中存在 finally 代码块,该块中的语句一定会被执行。

以下代码演示了异常处理过程:

try:
    num = int(input("输入一个整数:"))
    result = 100 / num
    print("100 / {} = {}".format(num, result))
except ValueError:
    print("输入的不是一个整数")
except ZeroDivisionError:
    print("输入了零")
else:
    print("程序执行成功!")
finally:
    print("不管程序是否执行成功都会执行的代码")

执行过程:

  1. 用户输入一个整数,若输入正确,则进入 try 代码块。
  2. 用用户输入的整数计算 100/num,若计算成功,则执行 else 代码块,输出“程序执行成功!”。
  3. 无论是否计算成功,都会进入 finally 代码块,输出“不管程序是否执行成功都会执行的代码”。

以下代码演示了错误类型不匹配时的异常处理过程:

try:
    num = int(input("输入一个整数:"))
    result = 100 / num
    print("100 / {} = {}".format(num, result))
except ValueError:
    print("输入的不是一个整数")
except TypeError:
    print("发生了类型错误")
else:
    print("程序执行成功!")
finally:
    print("不管程序是否执行成功都会执行的代码")

执行过程:

  1. 用户输入一个整数,若输入正确,则进入 try 代码块。
  2. 用用户输入的整数计算 100/num,若计算成功,则执行 else 代码块,输出“程序执行成功!”。
  3. 无论是否计算成功,都会进入 finally 代码块,输出“不管程序是否执行成功都会执行的代码”。
  4. 因为错误类型不匹配,所以程序会抛出异常,导致程序终止。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 异常处理Ⅳ过程图解 - Python技术站

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

相关文章

  • 在Python中关于使用os模块遍历目录的实现方法

    使用os模块可以方便地遍历目录和操作文件,下面是在Python中使用os模块遍历目录的实现方法攻略: 导入os模块 import os 遍历目录 列出目录下的所有文件和目录 使用os.listdir()方法可以列出指定目录下的所有文件和目录。 def list_dir(path): """列出指定目录下的所有文件和目录&quot…

    python 2023年6月2日
    00
  • 使用python查看五黄及罗猴

    应多为风水道友之要求,特在 https://github.com/china-testing/bazi 增加查看五黄及罗猴功能。 如何查看五黄 五黄是风水理气中九宫飞星中最凶之星,凡是修造、下葬都要避开。 首先要避开当年五黄的方向作为朝向。比如2023年,西北方向是五黄,不能朝向西北,也不能在房子西北方向附近动土。 其次五黄日,比如2023年5月7日,大忌挖…

    python 2023年5月4日
    00
  • Python数据可视化之画图

    下面我将为你详细讲解“Python数据可视化之画图”的完整攻略。本攻略主要涉及到以下内容: 画图工具的选择:需要选择合适的画图工具,Python可视化库众多,如Matplotlib、Seaborn、Bokeh、Plotly等,每个工具都有各自的优劣和适用场景。 数据准备:数据是画图的基础,需要针对数据进行清洗、预处理和格式化。 选择画图类型:根据数据类型和需…

    python 2023年5月18日
    00
  • 同一组中观察的“向前填充”虚拟变量(Python)

    【问题标题】:’Fill forward’ dummy variable for observations in same group (Python)同一组中观察的“向前填充”虚拟变量(Python) 【发布时间】:2023-04-04 07:23:01 【问题描述】: 我创建了一个虚拟变量(在 Python 中)seo,如果另一列的值大于 0,则它取值 …

    Python开发 2023年4月6日
    00
  • python 实现批量文件加密功能

    下面是详细的Python实现批量文件加密功能的完整实例教程。 简介 加密是信息安全中保护文件的一种常用手段,而批量加密功能能够在一次操作中加密多个文件,提高效率。本教程主要介绍如何使用Python实现批量文件加密功能。 准备工作 在开始编写代码之前,我们需要安装pycryptodome模块,这个模块是python中使用AES对称加密时的一个常用库。使用pip…

    python 2023年5月13日
    00
  • 使用Python抓取豆瓣影评数据的方法

    使用Python抓取豆瓣影评数据的方法 豆瓣是一个非常流行的电影评分网站,我们可以使用Python抓取豆瓣影评数据,进行数据分析和挖掘。在本攻略中,我们将详细讲解如何使用Python抓取豆瓣影评数据,并提供一些示例。 步骤1:获取电影ID 在抓取豆瓣影评数据之前,我们需要获取电影的ID。我们可以在豆瓣网站上搜索电影,并获取电影的URL。电影的ID就是URL中…

    python 2023年5月15日
    00
  • python实现html转ubb代码(html2ubb)

    Python实现HTML转UBB代码(html2ubb)的完整攻略 在本文中,我们将介绍如何使用Python实现HTML转UBB代码(html2ubb)的完整攻略。我们将提供两个示例,以帮助读者更好地理解如何实现这个目标。 步骤1:安装必要的库 在使用Python实现HTML转UBB代码之前,我们需要安装必要的库。我们将使用以下库: html2bbcode:…

    python 2023年5月15日
    00
  • Python+opencv 实现图片文字的分割的方法示例

    导入必要的库 在使用Python+opencv实现图片文字的分割之前,首先要导入必要的库。通常需要使用的库包括cv2、numpy、PIL和matplotlib,其中cv2为opencv对Python的接口。 import cv2 import numpy as np from PIL import Image import matplotlib.pyplot…

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