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

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

3天内不再提示

Python中的异常机制(二)

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

二、try和except结构

try...一个except结构

这种结构是最常见, 也是最常用的结构

语法结构

try:

被监控的可能引发异常的语句块

exceptBaseException[ase]:

异常处理语句块

注意事项:

  • try 块包含着可能引发异常的代码, except 块则用来捕捉和处理发生的异常
  • 执行的时候,如果 try 块中没有引发异常,则跳过 ecept 块继续执行后续代码
  • 执行的时候,如果 try 块中发生了异常,则跳过 try 块中的后续代码,跳到相应的 except 块中处理异常. 异常处理完后,继续执行后续代码

实操代码

defa():

print("runina()start!")

try:

num=1/0

exceptBaseExceptionase:

print("捕获异常之后执行此处代码")

print("runina()end!")

defb():

print("runinb()start!")

a()

print("runinb()end!")

defc():

print("runinc()start!")

b()

print("runinc()end!")

print("step1")

c()

print("step2")

try...多个except结构

try...except 的结构可以捕获所有的异常,工作中也很常见. 但是,一般建议尽量捕获可能出现的多个异常(按照先子类后父类的顺序),并且针对性写出异常处理代码 为了避免遗漏可能出现的异常,可以在最后增加 BaseException 。结构如下

语法结构

try:

被监控的、可能引发异常的语句块

exceptException1:

处理Exception1的语句块

exceptException2:

处理Exception2的语句块

[...]

except BaseException:

处理可能遗漏的异常的语句块

实操代码

try:

a=input("请输入被除数:")

b=input("请输入除数:")

result=float(a)/float(b)

print(result)

exceptZeroDivisionError:

print("异常:0不能做除数")

exceptValueError:

print("异常:输入的必须是数值类型!")

exceptBaseExceptionase:

print(e)

print(type(e))

try...except...else结构

在 try...except...else 结构的基础上增加了 else 块 .如果 try 块中没有抛出异常,则执行else 块. 如果 try 块中抛出异常,则执行 except 块,不执行 else 块.

语法结构

try:

被监控的可能引发异常的语句块

exceptBaseException[ase]:

异常处理语句块

else:

没有抛出异常时执行的语句块

实操代码

try:

a=input("请输入被除数:")

b=input("请输入除数:")

result=float(a)/float(b)

exceptBaseExceptionase:

print(e)

else:

print("两数相除,结果是:",result)

try...except...finally结构

try...except...finally 结构中, finally 块无论是否发生异常都会被执行, 通常用来释放 try 块中申请的资源

语法结构

try:

被监控的可能引发异常的语句块

exceptBaseException[ase]:

异常处理语句块

finally:

无论是否捕获异常都会执行的语句块

实操代码

try:

a=input("请输入被除数:")

b=input("请输入除数:")

result=float(a)/float(b)

exceptBaseExceptionase:

print(e)

else:

print("两数相除,结果是:",result)

finally:

print("我是finally中的语句, 无论发生异常与否, 都执行!")

实操代码2

try:

f=open("d:/a.txt",'r')

content=f.readline()

print(content)

exceptBaseExceptionase:

print(e)

finally:

f.close()#释放资源. 此处也可能会发生异常。若发生异常,则程序终止,不会继续往下执行

print("step4")

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

    关注

    116

    文章

    3777

    浏览量

    80851
  • python
    +关注

    关注

    56

    文章

    4782

    浏览量

    84453
收藏 人收藏

    评论

    相关推荐

    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 关键字来抛出异常的,比如在下面这个函数,如果不存在目标文件,则会抛出一个 Exception 通用
    发表于 03-04 17:10

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

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

    C++异常机制探讨

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

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

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

    Java异常处理机制

    的负担)。 如果自己能处理的意外情况,尽量就地处理掉,别传播出去,增加客户端程序员的负担。如果非得传播出去,可以考虑在方法的声明中用throws关键字传播运行时异常。 不要随便自己定义异常,如果在Java的基本类库找不到合适的
    发表于 03-26 11:44 6次下载

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

    自身无线通信设备计算的车流量和接收到的其他车辆计算的车流量的差异,初步定位可能的异常节点位置。采用假设检验的u检验方法决定是否接受接收到的数据,据此推断节点是否异常。仿真结果表明,采用该机制
    发表于 03-29 09:54 0次下载

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

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

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

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

    Python-模块、包、异常

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

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

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

    Python异常机制(一)

    一刻不在路上. 在今夜首先了解 什么是异常 : 软件程序在运行过程,可能会遇到能使其不能正常运行的问题,我们称之为异常,英文是:Exception . 然后, 我们会了解 捕获异常
    的头像 发表于 05-11 18:17 733次阅读
    <b class='flag-5'>Python</b><b class='flag-5'>中</b>的<b class='flag-5'>异常</b><b class='flag-5'>机制</b>(一)

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

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