Python基础 - 10.异常处理

Python基础-异常处理(10) 几个注意: 当某行代码抛出异常后,它后面的代码不会被执行,如果异常代码在try-except块中,并且被except捕获,则except后面的代码可以执行 Exception是所有异常的父类,因此Exception可以捕获所有异常 自定义异常必须继承Exception或者其子类 finally块只有有,就必须被执行,其在最后执行 当有else块时,只有不发生异常,else代码才会被执行 rais... 阅读详情

什么是异常

异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。

一般情况下,在Python无法正常处理程序时就会发生一个异常。

异常是Python对象,表示一个错误。

当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

异常语法

try…except…else…finally…的语法

try:
  <语句>        #运行代码
except <A异常类>:
  <语句>        #如果在try部份引发了A异常
except <B异常类>:
  <语句>        #如果引发了B异常
else:
  <语句>        #如果没有异常发生
finally:
  <语句>        #语句无论是否发生异常都将执行最后的代码

下面是简单的例子,它打开一个文件,在该文件中的内容写入内容,如果该文件不存在则发生异常:

try:
   fh = open("testfile", "r+")
   fh.write("测试异常")
except IOError:
   print ("Error: 未找到文件")
else:
   print ("测试正常")
finally:
   print ("关闭文件")
   fh.close()

以上程序输出结果:

Error: 未找到文件
关闭文件

触发异常

当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。

try:
   raise Exception("主动抛出错误")
   print("测试主动抛出错误")
except Exception as e:
   print ("Error: %s"%e)
else:
   print ("未出现异常")
finally:
   print ("测试结束")

本章项目源码

URL:https://gitee.com/yuanbaonet/master_python/tree/baoai_python_v10/

对应版本:baoai_python_v10

对应文件:sample/python/p10.py

10、Python 库与异常处理全解析 本文全面解析了Python的库与异常处理机制。内容涵盖Python标准库中的操作系统相关模块、未记录模块、平台特定模块、多媒体模块及Python 2.0新增模块。异常处理部分详细讲解了异常的引发、捕获与处理流程,并提供了多异常统一处理、异常对象获取、嵌套处理等进阶应用。此外,还通过实际案例演示了codecs、mmap、pyexpat等模块的使用,并提供了学习资源与进阶路线建议,帮助开发者构建更健壮的Python应用。 阅读详情

相关推荐

单波束与多波束声呐:从原理到应用场景的全面解析

本文全面解析了单波束与多波束声呐的工作原理、核心特点及应用场景。单波束声呐如精准的狙击手,适合高精度需求;多波束声呐则像高效的散弹枪,适用于快速测绘和大面积覆盖。文章还提供了选型指南和前沿发展趋势,帮助用户根据预算和需求选择最适合的声呐技术。

weixin_30872157的博客 220

Python基础之——10_异常处理

目录 一、什么是异常? 二、异常处理机制 Python异常的五个关键字 异常处理的一些其它用途: 三、触发异常 异常类层级关系 四、用户自定义异常 什么是用户自定义异常? Python 异常使用规范 五、实验操作 5.1常见的Exception 5.2异常处理机制 5.3抛出异常 5.4自定义异常 一、什么是异常? Error和Exception的区别: Error(错误)是系统中的错误,程序员是不能改变的和处理的,如系统崩溃,内存空间不足,方法调用栈溢...

Zhaohui_Zhang的博客 1227

C++结合大漠插件实现DNF自动化脚本:从原理到实战

自动化技术通过模拟用户操作,实现重复性任务的自动执行,其核心原理在于对系统输入输出接口的精确控制。在Windows平台,这通常涉及窗口管理、图像识别与键鼠模拟等技术。这些技术为软件自动化测试、办公流程自动化及特定场景的辅助工具开发提供了工程实践基础。大漠插件作为国内广泛使用的Windows自动化开发组件,封装了上述底层操作,显著降低了开发门槛。通过其提供的COM接口,开发者可以高效实现窗口绑定、后台找图找色及内存读写等关键功能。本文以《地下城与勇士》为例,详细解析如何利用C++集成大漠插件,构建一个稳定、高

weixin_34185512的博客 576

python基础(10异常处理)

本文主要讲python中的异常处理,一次性说清python中异常处理的用法。相对来说比较好理解,如果你从第一篇文章学到了这里,那么恭喜你,python基础,你已经挑战了自己!程序开发中,有时候也需要自己定义异常类,自定义异常类一般都是运行时异常通常继承Exception或者其子类即可,命名一般以Error,Exception自定义异常由raise语句主动抛出例子:题目:写一个类 不符合的年龄抛出异常#方法class AgeError(Exception): #继承Exception。

990

从想法到零件:手把手拆解一个汽车功能如何从PRD写到SSTS和CTS

本文详细拆解了汽车电子需求从市场文档(MRD)到零部件技术规范(CTS)的完整流程,以雨天自动关窗功能为例,展示了PRD、SSTS和CTS的编写要点与交互设计。文章重点解析了系统分解的艺术和零部件落地的精确参数要求,为汽车电子工程师提供了从概念到实现的全流程实践指南。

weixin_30300225的博客 481

信号完整性基础04:串扰(1)

我们理解了“单个”传输线(传输线是信号路径+回流路径,切记~),但大多数情况下单独“传输线”的情况并不多见(理想情况下的同轴线缆可以算一个),大多数我们PCB板上有成百上千条走线,它们组成了一个“大社会”,就如当年的TVB神剧《创世纪》一样,到处充满着恩怨情仇;稍处理不慎,单板这个“社会”就会崩溃。那么我们要从哪里入手去理解它呢?最基本的就是从两条PCB走线(传输线)之间的串扰开始。好,年前倒数第二章:《为什么会有串扰》。 ps:我们了解了x射线是啥,那么今天开始讲“放射线”,这两种东西是否就是同一种呢~

WKEZHENG的博客 6032

10_Python基础_Python异常处理

Python异常处理 一、了解Python异常处理 在程序中为了增强健壮性,我们需要考虑异常处理方面的内容。比如在读取文件时要考虑文件不存在的情况,在做除法运算时要考虑除0的情况……。我们把这些可能产生的异常在程序中进行对应的处理保证程序不无故异常退出这就是异常处理。 做除法运算时的除0异常处理 二、捕获程序中异常 就如上面的列子,我们不可以防止用户输入0,但是我们可以在产生...

advent86的专栏 763

Zemax操作33--5倍激光扩束器

5倍扩束

lzy750750的博客 2931

Python 基础:10 异常处理

I 异常的概述 异常:程序出现的错误。 异常类:用来描述某一类型的异常;Python 解释器提供了很多异常类,用来描述那些常见的异常的。 处理异常的原因:如果异常没被处理,会影响后面代码的执行。 ...

maergaiyun的博客 265

避开SAM3安装大坑:手把手教你用国内镜像和Modelscope权重快速跑通Demo

本文详细介绍了如何在国内环境下快速部署SAM3视觉大模型,包括使用国内镜像加速Python包安装、通过Modelscope获取权重文件以及解决CUDA 11.8等低版本适配问题。手把手教你避开常见安装陷阱,实现高效Demo运行。

weixin_30642561的博客 1407

安装keil软件时安装不了芯片包怎么回事?芯片包安装路径放在Keill里的packs下面,弹框提示报错:Errors retumned from cpackget...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 2207

Day10 Python的异常处理

1

qq_45813007的博客 207

OpenClaw部署太难?汉化版+中文社区+国产替代品,国内用户零门槛指南

OpenClaw作为GitHub 10万+星的开源AI助手平台,近期在国内AI圈备受关注 🌟 但部署难度和英文界面让很多用户望而却步。本文整理了针对国内用户的友好资源和简便替代方案,帮助国内用户零门槛上手AI助手工具 🚀

XiaoqiangClub的博客 5758

Python—10、异常处理

Python 异常处理

蓝魔的博客 157

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python基础语法10-异常处理

有时我们需要根据业务需求来定义特定的异常,Python 允许我们通过继承Exception类来自定义异常类。自定义异常可以让我们的错误信息更加明确,方便后续的调试和维护。自定义异常通常继承自Exception类,并可以通过__init__方法添加额外的错误信息。def __init__(self, message="年龄无效"):# 使用自定义异常try:age = -5raise InvalidAgeError("年龄不能为负数!

wujianyouhun的专栏 808

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python8/Python异常处理与文件操作:构建健壮应用的10个技巧

Python8/Python项目提供了丰富的异常处理与文件操作示例,帮助开发者构建更健壮的应用程序。本文将分享10个实用技巧,结合项目中的实际代码示例,让你轻松掌握Python异常处理和文件操作的核心知识。 ## 一、异常处理基础:try-except-finally结构 异常处理是Python程序健壮性的基础。项目中的[exception-handling.py](https://link.

gitblog_01081的博客 438

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

10. Python 自定义异常处理详解

在 Python 编程中,自定义异常处理可以提高代码的可读性和可维护性。本文详细介绍了如何创建和使用自定义异常,涵盖了基本概念、最佳实践和大型项目中的应用。通过继承 Exception 类、自定义 __init__ 方法以及分层结构化设计,开发者可以更灵活地捕获和处理特定错误。文章还包括异常的日志记录、调试技巧及如何在代码中有效捕获多种异常类型。通过这些方法,程序能够更加精准、优雅地处理错误,提高整体软件质量

拾工 616

10.Python异常处理机制

开发人员在编写程序时,难免会遇到错误,有的是编写人员疏忽造成的语法错误,有的是程序内部隐含逻辑问题造成的数据错误,还有的是程序运行时与系统的规则冲突造成的系统错误,等等总的来说,编写程序时遇到的错误可大致分为 2 类,分别为语法错误和运行时错误。

YFY0525的博客 1237

python10——异常处理(异常处理机制、raise)

目录一、Error和Exception二、异常处理机制 一、Error和Exception Error(错误)是系统中的错误,程序员是不能改变的和处理的,如系统崩溃,内存空间不足,方法调用栈溢等。遇到这样的错误,建议让程序终止。 Exception(异常)表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。 二、异常处理机制 Python 的异常机制主要依赖 try 、except 、else、finally 和 raise 五个关键字。

qwejiaji的博客 1306

Python错误类型全解析:10种常见异常处理终极指南

Hello-Python是一个用于学习Python编程的简单示例项目,包含多个练习题和参考答案,适合用于Python编程入门学习。在Python开发过程中,错误和异常处理是必不可少的技能,本指南将详细解析10种常见的Python错误类型,并提供实用的处理方法。 [![Python编程学习](https://raw.gitcode.com/GitHub_Trending/he/Hello-Pyth

gitblog_00513的博客 808

Python之路【第10章】:程序异常处理

程序的异常处理 什么是异常 异常的类型 异常的处理机制 一、什么是异常   异常就是程序运行时发生错误的信号,在程序由于某些原因出现错误的时候,若程序没有处理它,则会抛出异常,程序也的运行也会随之终止;   程序异常带来的问题:   a.程序终止,无法运行下去;  b.如果程序是面向客户,那么会使客户的体验感很差,进而影响业务;   什么时...

aijiaolao2823的博客 213

redux-storage核心功能解析:灵活后端存储引擎全指南

redux-storage是一个专为Redux设计的持久化层解决方案,它提供了灵活的后端存储引擎支持,让开发者能够轻松实现Redux状态的保存与加载功能。无论是Web应用还是React Native应用,redux-storage都能帮助你构建可靠的状态持久化系统。 ## 🌟 为什么选择redux-storage? 在现代前端应用开发中,状态管理至关重要。Redux作为主流的状态管理库,虽然

gitblog_01021的博客 457

10.Python异常处理

为增强程序的健壮性,我们也需要考虑异常处理方面的内容。例如 ,在读取文件时需要考虑文件不存在、文件格式不正确等异常情况。这 就是本章要介绍的异常处理。

pythontxt的博客 513

10.4 Python异常处理机制的底层实现

前面章节中,我们详细介绍了try except异常处理的用法,简单来说,当位于 try 块中的程序执行出现异常时,会将该种异常捕获,同时找到对应的 except 块处理该异常,那么这里就有一个问题,它是如何找到对应的 except 块的呢? 我们知道,一个 try 块也可以对应多个 except 块,一个 except 块可以同时处理多种异常。如果我们想使用一个 except 块处理所有异常,就可以这样写: try: #... except Exception: #... 这种情况下,

小董老师的博客 367

python10-异常处理

一 什么是异常 二 异常的种类 三 异常处理 四 什么时候用异常处理 一 什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 而错误分成两种 #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范...

weixin_30800987的博客 85

10.2 Python异常处理机制到底有什么用?

异常处理是现代编程语言不可或缺的能力,它已经成为衡量一门编程语言是否成熟和健壮的标准之一,C++、Java、C#、Python 等高级语言都提供了异常处理机制。 无论你是多么优秀的程序员,你都不能保证自己的程序永远不会出错。就算你的程序没有错,用户也不一定按照你设定的规则来使用你的程序,总有一些小白或者极客会“玩弄”你的程序。 除此以外,你也不能保证程序的运行环境永远稳定,比如操作系统可能崩溃,网络可能无法连接,内存可能突然坏掉…… 总之,你基本什么都保证不了。但是,作为一个负责任的程序员,我们要让自己的程

小董老师的博客 551
上一篇: Python基础 - 9.面向对象提高
下一篇: Python基础 - 11.模块
idsof
博客等级 码龄21年 9粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值