0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python中的异常机制(一)

麦辣鸡腿堡 来源:python都知道 作者:了不起 2023-05-11 18:17 次阅读

前言

哈喽, 大家好, 我是了不起!

欢迎大家来观看了不起的冒险之旅. 为了方便起见, 文中以小知为名. 讲述了不起在Python异世界的冒险之旅.

白天冒险, 晚上学习. 小知可是身体和心理没有一刻不在路上. 在今夜首先了解什么是异常: 软件程序在运行过程中,可能会遇到能使其不能正常运行的问题,我们称之为异常,英文是:Exception . 然后, 我们会了解捕获异常的四种方式


一、异常是什么


程序在运行过程中发生的意外情况,称为异常, 程序运行时一旦出现了异常,将会导致程序立即终止,异常之后的代码将无法继续执行,所以需要对异常进行处理

异常机制本质

  • 当程序出现异常,程序安全的退出、处理完后继续执行的机制

python中,引进了很多用来描述和处理异常的类,称为异常类. 异常类定义中包含了该类异常的信息和对异常进行处理的方法.下面较为完整的展示了python中内建异常类的继承层次:

pYYBAGRcvAeAQvtzAADTUrtMZEI650.png

解决思路

异常解决的关键:定位当发生异常时,解释器会报相关的错误信息,并会在控制台打印出相关错误信息. 我们只需按照从上到下的顺序即可追溯(Trackback)错误发生的过程,最终定位引起错误的哪一行代码.

实操代码

#测试简单的0不能做除数异常

#因为如果假设成立,则说明3/0=0=>可以推导0*0=3,因为结果不成立,因此假设不成立

#a=3/0

defa():

print("runina()start!")

num=1/0

print("runina()end!")

defb():

print("runinb()start!")

a()

print("runinb()end!")

defc():

print("runinc()start!")

b()

print("runinc()end!")

print("step1")

c()

print("step2")

结果输出

从打印输出结果来看, 最底层的方法(eg: a())出错之后, 会在上层调用的方法位置处抛出异常. 因为错误信息以栈的形式输出, 因此最顶层的调用因为先打印, 所以会先被我们看到. 因此对底层/最有用的信息一般位于最下面.

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序
    +关注

    关注

    117

    文章

    3786

    浏览量

    81024
  • python
    +关注

    关注

    56

    文章

    4796

    浏览量

    84664
收藏 人收藏

    评论

    相关推荐

    FEM模拟python异常

    1148,在genericEmdsCall引发异常(文本) 以上来自于谷歌翻译 以下为原文Hello i gotthe following Python error message when
    发表于 02-14 15:14

    如何使用Python检测电动机异常情况

    该项目演示如何使用 Python 训练两种不同的机器学习模型来检测电动机异常情况。 第个模型依赖于马哈拉诺比斯距离的经典机器学习威廉希尔官方网站 。 第二个模型是使用 TensorFlow 和
    发表于 09-08 08:14

    python常见异常类型

    python常见异常类型在程序运行过程,总会遇到各种各样的问题和错误。有些错误是我们编写代码时自己造成的,比如语法错误、调用错误,甚至逻辑错误。下面这个例子,在输入 if 后输入回车了,没有按照
    发表于 03-04 16:59

    python如何主动抛出异常和捕获异常

    关键字抛出。在 Python 是使用 raise 关键字来抛出异常的,比如在下面这个函数,如果不存在目标文件,则会抛出个 Excep
    发表于 03-04 17:10

    Cortex-M3的异常处理机制分析

    Cortex-M3的异常处理机制分析  详细阐述CortexM3异常的分类、优先级、进入和退出,以及在CortexM3异常处理机制
    发表于 03-29 15:07 2008次阅读
    Cortex-M3的<b class='flag-5'>异常</b>处理<b class='flag-5'>机制</b>分析

    C++异常机制探讨

    C++的异常机制为我们提供了更好的解决方法。异常处理的基本思想是:当出现错误时抛出异常,希望它的调用者能捕获并处理这个
    发表于 11-23 11:04 3472次阅读
    C++<b class='flag-5'>异常</b><b class='flag-5'>机制</b>探讨

    基于Python 异常的介绍以及异常处理的方法解析

    异常处理在任何门编程语言里都是值得关注的个话题,良好的异常处理可以让你的程序更加健壮,清晰的错误信息更能帮助你快速修复问题。在Python
    的头像 发表于 01-31 14:20 6271次阅读
    基于<b class='flag-5'>Python</b> <b class='flag-5'>异常</b>的介绍以及<b class='flag-5'>异常</b>处理的方法解析

    基于Greenshield模型的异常节点检测机制

    面向车辆自组网的安全通信问题,提出种基于Greenshield模型的异常节点检测机制。结合车辆自组网的特点,构造Greenshield模型,计算车辆速度、车辆密度和车流量参数。在此基础上依据车辆
    发表于 03-29 09:54 0次下载

    C++的异常机制底层原理与实际应用详细说明

    我们在对 vector 做 push 操作的时候,或者对某个指针做 new 操作的时候,如果没有做异常处理,旦系统内存不够用了,程序是会被 terminate 掉的。这就要求我们熟悉 C++ 异常,保证日常开发
    的头像 发表于 11-22 11:34 3188次阅读

    Python中有哪些常见的错误和异常

    python常见异常类型 在程序运行过程,总会遇到各种各样的问题和错误。 有些错误是我们编写代码时自己造成的,比如语法错误、调用错误,甚至逻辑错误。下面这个例子,在输入 if 后输入回车了,没有
    的头像 发表于 03-04 16:58 4167次阅读

    python如何捕获异常和主动抛出异常

    ,使用 raise 关键字抛出。 在 Python 是使用 raise 关键字来抛出异常的,比如在下面这个函数,如果不存在目标文件,则会抛出
    的头像 发表于 03-04 17:09 9839次阅读

    Python-模块、包、异常

    * 程序运行时,如果Python 解释器遇到了错误,会停止程序运行,并且提示错误信息,**这就是异常**,* 程序停止执行并提示错误信息的动作,称为 **抛出异常**
    的头像 发表于 02-16 15:40 712次阅读
    <b class='flag-5'>Python</b>-模块、包、<b class='flag-5'>异常</b>

    C++程序异常处理机制是什么

    那么C++设计了异常处理机制方面能够使得异常处理和正常运行代码进行分离,使得程序更加模块化;另
    的头像 发表于 02-21 10:37 866次阅读
    C++程序<b class='flag-5'>异常</b>处理<b class='flag-5'>机制</b>是什么

    Python异常机制(二)

    二、try和except结构 try...个except结构 这种结构是最常见, 也是最常用的结构 语法结构 try:  被监控的可能引发异常的语句块 except  BaseException
    的头像 发表于 05-11 18:20 900次阅读

    arm异常响应和异常返回机制是什么样子的?

    arm异常响应和异常返回机制是什么样子的?  ARM是种RISC指令集架构,广泛用于无线电视、移动电话、嵌入式系统等领域。ARM
    的头像 发表于 10-19 16:36 1035次阅读