Python 3中的异常捕获机制(try-except语句)

2024-03-30 23:04

本文主要是介绍Python 3中的异常捕获机制(try-except语句),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

诸神缄默不语-个人CSDN博文目录

在编程过程中,异常的出现是难以避免的。异常指程序在执行过程中发生的不正常情况,如除数为零、文件不存在等。如果不进行处理,程序就会崩溃退出。Python提供了try-except语句来捕获并处理异常,确保程序的健壮性。

文章目录

  • try-except语句的语法
  • 捕获单个异常
  • 捕获多个异常
  • 捕获所有异常
  • 使用else和finally

try-except语句的语法

try:# 可能发生异常的代码块pass
except 异常类型1:# 发生异常类型1时执行的代码块pass
except 异常类型2:# 发生异常类型2时执行的代码块 pass
# 可以添加多个except语句用于捕获不同类型的异常
else:# 如果try代码块中没有发生异常,则执行else代码块pass
finally:# 无论try代码块是否发生异常,finally代码块都会执行pass

捕获单个异常

try:result = 10 / 0  # 发生除零异常
except ZeroDivisionError:print("除数不能为零!")

输出结果:

除数不能为零!

捕获多个异常

try:num = int(input("请输入一个数字: "))result = 10 / numprint(f"结果是: {result}")
except (ValueError, ZeroDivisionError) as e:print(f"发生了异常: {e}")

输出示例:

请输入一个数字: 0
发生了异常: division by zero

捕获所有异常

try:result = 10 / 0
except Exception as e:print(f"发生了异常: {e}")

输出结果:

发生了异常: division by zero

使用else和finally

try:num = int(input("请输入一个数字: "))result = 10 / num
except ValueError:print("输入的不是数字!")
except ZeroDivisionError:print("除数不能为零!")
else:print(f"结果是: {result}")
finally:print("无论如何,finally代码块都会执行。")

输出示例:

请输入一个数字: 5
结果是: 2.0
无论如何,finally代码块都会执行。

通过上述示例,相信您已经对Python的异常捕获机制有了一定的了解。在编程时,恰当地使用try-except语句可以有效避免程序因异常而崩溃,提高程序的健壮性。

这篇关于Python 3中的异常捕获机制(try-except语句)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/862812

相关文章

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

JAVA线程的周期及调度机制详解

《JAVA线程的周期及调度机制详解》Java线程的生命周期包括NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED,线程调度依赖操作系统,采用抢占... 目录Java线程的生命周期线程状态转换示例代码JAVA线程调度机制优先级设置示例注意事项JAVA线程

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

maven异常Invalid bound statement(not found)的问题解决

《maven异常Invalidboundstatement(notfound)的问题解决》本文详细介绍了Maven项目中常见的Invalidboundstatement异常及其解决方案,文中通过... 目录Maven异常:Invalid bound statement (not found) 详解问题描述可

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav