【Python异常处理】

embedded/2024/9/24 4:03:55/

文章目录

  • 一、什么是异常?
  • 二、Python的异常处理机制
  • 三、异常处理示例
    • 1. 简单异常处理
    • 2. 捕获多个异常
    • 3. 使用else和finally
  • 四、抛出异常


一、什么是异常?

异常指的是程序在执行过程中遇到的非正常情况,可能会导致程序中断或产生错误结果。常见的异常包括但不限于:语法错误、逻辑错误、运行时错误等。Python中的异常通常是指在程序执行过程中发生的错误,例如除零错误、索引越界等。


二、Python的异常处理机制

Python通过try-except语句可以捕获并处理异常。

python">try:# 可能会产生异常的代码块<statements>
except <ExceptionType> as <variable>:# 异常处理代码块<statements>
  • try语句块中包含可能会产生异常的代码。
  • except语句块用于捕获和处理try语句块中可能抛出的异常。可以指定捕获的异常类型,也可以使用Exception来捕获所有类型的异常。

三、异常处理示例

1. 简单异常处理

python">try:result = 10 / 0  # 除零异常
except ZeroDivisionError as e:print("除零错误:", e)

2. 捕获多个异常

python">try:file = open('nonexistentfile.txt', 'r')  # 文件不存在异常data = file.read()file.close()
except FileNotFoundError as e:print("文件不存在:", e)
except Exception as e:print("发生异常:", e)

3. 使用else和finally

python">try:result = 10 / 2
except ZeroDivisionError as e:print("除零错误:", e)
else:print("结果:", result)
finally:print("无论是否发生异常,都会执行finally块")

四、抛出异常

除了捕获异常外,Python还提供了抛出异常的机制,可以使用raise语句来抛出指定类型的异常。

python">def validate_age(age):if age < 0:raise ValueError("年龄不能为负数")elif age < 18:raise ValueError("必须年满18岁")else:print("年龄合法")try:validate_age(-5)
except ValueError as e:print("发生错误:", e)

http://www.ppmy.cn/embedded/33321.html

相关文章

13_Scala面向对象编程_伴生对象

文章目录 1.伴生对象1.1 scala的一个性质&#xff0c;scala文件中的类都是公共的&#xff1b;1.2 scala使用object关键字也可以声明对象&#xff1b; 3.关于伴生对象和类4.权限修饰符&#xff0c;scala仅有private;5.伴生对象可以访问伴生类中的私有属性&#xff1b;6.案例7.伴…

C语言——rand函数

一、rand函数 这是一个在 C 标准库 <stdlib.h> 中定义的函数&#xff0c;用于生成伪随机数&#xff0c;默认情况下&#xff0c;它生成从 0 到 RAND_MAX 的伪随机数&#xff0c;其中 RAND_MAX 是一个常数&#xff0c;通常是 32767。 1、函数原型&#xff1a; 2、函数返回…

Pytorch: nn.Embedding

文章目录 1. 本质2. 用Embedding产生一个10 x 5 的随机词典3. 用这个词典编码两个简单单词4. Embedding的词典是可以学习的5. 例子完整代码 1. 本质 P y t o r c h \mathrm{Pytorch} Pytorch 的 E m b e d d i n g \mathrm{Embedding} Embedding 模块是一个简单的查找表&#…

Java零基础入门到精通_Day 9

1.ArrayList 编程的时候如果要存储多个数据&#xff0c;使用长度固定的数组存储格式&#xff0c;不一定满足我们的需求&#xff0c;更适应不了变化的需求&#xff0c;那么&#xff0c;此时该如何选择呢? 集 合 集合类的特点:提供一种存储空间可变的存储模型&#xff0c;存储的…

border 是渐变色怎么设置 圆角 radius?

什么&#xff1f;渐变色的 border 无法设置 radius&#xff1f; 你5年开发了。ui 能做出的东西&#xff0c;你说你做不出来&#xff1f; .box {width: 100px;height: 150px;position: relative;z-index: 1;&::after {content: "";position: absolute;inset: 0;…

C++中的reverse_iterator迭代器结构设计

目录 reverse_iterator迭代器结构设计 reverse_iterator迭代器基本结构设计 operator*()函数 operator()函数 operator->()函数 operator!()函数 rbegin()函数 rend()函数 operator--()函数 operator()函数 测试代码 const_reverse_iterator迭代器设计 reverse…

C# 使用模式匹配以及 is 和 as 运算符安全地进行强制转换

C# 使用模式匹配以及 is 和 as 运算符安全地进行强制转换 is 运算符as 运算符模式匹配使用场景拓展父类和子类的检查校验与对象类型 is 运算符 用于检查一个对象是否是特定类型。C# 7 引入了 is 运算符的模式匹配功能&#xff0c;可以在检查类型的同时进行类型转换 object ob…

Dockerfile部署LNMP

目录 一、项目模拟 1. 项目环境 2. 服务器环境 3. 任务需求 二、Linux系统基础镜像 三、Nginx 1. 建立工作目录 2. 编写Dockerfile脚本 3. 准备nginx.conf配置文件 4. 生成镜像 5. 创建自定义网络 6. 启动镜像容器 7. 验证nginx 四、Mysql 1. 建立工作目录 2. …