首页 > 编程语言 >Python 异常处理

Python 异常处理

时间:2024-03-13 21:00:03浏览次数:20  
标签:Python except python try 处理 print 异常 ###

在 Python 中,异常处理是一种机制,用于有效地处理程序运行时可能出现的错误情况,如除零错误、文件不存在等。通过异常处理,可以使程序在遇到异常时不会立即终止,而是能够捕获异常并进行适当的处理。以下是关于 Python 异常处理的详细介绍,并附带多个案例说明:

### `try-except` 语句
`try-except` 语句用于捕获可能发生异常的代码块,并在异常发生时执行相应的处理代码。语法如下:
```python
try:
    # 可能会引发异常的代码块
    result = 10 / 0  # 除零错误
except ZeroDivisionError:
    # 捕获特定类型的异常
    print("除零错误发生!")
```

### 捕获多种异常
可以使用多个 `except` 块来捕获不同类型的异常。例如:
```python
try:
    file = open('non_existent_file.txt', 'r')
except FileNotFoundError:
    print("文件不存在!")
except IOError:
    print("IO 错误发生!")
```

### 捕获所有异常
使用 `except Exception as e` 可以捕获所有类型的异常,并将异常信息存储在变量 `e` 中。例如:
```python
try:
    result = 10 / 0
except Exception as e:
    print("发生异常:", str(e))
```

### `finally` 块
`finally` 块中的代码无论是否发生异常都会被执行,通常用于清理工作。例如关闭文件或释放资源:
```python
try:
    file = open('example.txt', 'r')
    # 进行文件操作
except FileNotFoundError:
    print("文件不存在!")
finally:
    file.close()  # 确保文件被关闭
```

### 自定义异常
可以通过继承 `Exception` 类来创建自定义异常,并在需要时引发该异常。例如:
```python
class MyCustomError(Exception):
    pass

try:
    if condition_not_met:
        raise MyCustomError("自定义异常发生!")
except MyCustomError as e:
    print("捕获自定义异常:", str(e))
```

### `else` 块
`else` 块在 `try` 块中没有发生异常时执行。例如:
```python
try:
    result = 10 / 2
except ZeroDivisionError:
    print("除零错误发生!")
else:
    print("计算结果:", result)
```

以上是关于 Python 异常处理的详细介绍,并提供了多个案例说明。异常处理是编写稳健程序的重要部分,能够帮助程序在面对错误时保持正常运行并进行适当的处理。希望以上介绍对您有所帮助。

标签:Python,except,python,try,处理,print,异常,###
From: https://blog.csdn.net/fan0430/article/details/136635324

相关文章

  • Python OS 文件/目录方法
    Python的`os`模块提供了丰富的文件和目录操作方法,让我们一起来详细介绍并通过案例说明各种方法的用法:1.获取当前工作目录:```pythonimportoscurrent_dir=os.getcwd()print("当前工作目录:",current_dir)```2.创建目录:```pythonimportosnew_dir="new_direct......
  • python使用pillow和opencv生成图片缩略图
    代码如下:fromioimportBytesIOfrompathlibimportPathfromtypingimportAnnotated,Literal,Optional,Tuple,Union#pipinstallpillowopencv-pythonimportcv2#type:ignore[import-untyped]importnumpyasnpfromPILimportImageImageSizeType=Ann......
  • Java 异常处理与正则表达式详解,实例演练及最佳实践
    Java异常-Try...Catch在Java代码执行期间,可能会发生各种错误,包括程序员编码错误、用户输入错误以及其他不可预料的状况。当错误发生时,Java通常会停止并生成错误消息,这个过程称为抛出异常。try...catch语句try语句允许您定义一段代码块,并在其中测试是否发生错误。catc......
  • python 猜数字 random
    #猜数字如果数字太大则输出Toolarge!如果数字太小则输出Toosmall!如果猜中则输出Justright!importrandomnumber=random.randint(1,100)whileTrue: num=int(input('输入1-100之间的数')) ifnum>number: print('你猜的数字太大了请重新输入') elifnu......
  • Python中AdaBoost与GBDT模型【附代码】
    目录1、AdaBoost算法的原理介绍(1)AdaBoost算法核心思想(2)AdaBoost算法数学原理概述1、初始化各个样本点权重,各权重相等2、计算误差率3、调整弱学习区权重4、更新样本点权重5、反复迭代6、正则化项(3)AdaBoost算法的简单代码实现2、案例- AdaBoost信用卡精准营销模型......
  • 在vscode中如何利用快捷键运行python文件
    通常运行python文件只能选择调试运行,或者右键点击需要鼠标点击比较麻烦可以自己设置一个快捷键在上方的搜索框键入>运行python文件点击这个齿轮由于我设置过了快捷键所以能看到Shift+R点击图中的标识,你就能编辑你想要的快捷键随后你就可以用新设置的快捷键在终端直......
  • GAMIT/GLOBK v10.75:北斗数据处理利器,你掌握了吗?
    随着GNSS导航定位技术的不断演进和广泛应用,大型工程项目的设计、施工、运行与管理等环节对工程测量的要求也日趋严格。众多行业领域,包括测绘、勘测、规划、市政、交通、铁道、水利水电、建筑、矿山、道桥、国土资源、气象、地震等,在大型工程建设中均需要依赖高精度卫星定位......
  • 【华为OD机试真题 Python】人气最高的店铺|解题思路、代码解析
    文章目录题目描述输入输出示例1输入输出说明示例2输入输出说明解题思路实现代码题目描述某购物城有m个商铺,现决定举办一场活动选出人气最高店铺。活动共有n位市民参与,每位市民只能投一票,但1号店铺如果给该市民发放q元的购物补贴,该市民会改......
  • Python collections详细介绍及实例
    Python的collections库提供了许多有用的数据结构,这些数据结构是对内建数据类型的补充。以下是一些collections库中主要数据结构的详细介绍和示例:CounterCounter是一个字典子类,用于计数可哈希对象。常用于统计字符出现的次数、列表中元素出现的次数等。示例:fromcollections......
  • 运维常用的Python第三方模块及实例
    在运维工作中,Python是一种非常流行的脚本语言,因为它具有简洁的语法、丰富的库和跨平台的能力。运维工程师经常使用Python来编写自动化脚本,以简化日常任务。以下是一些运维常用的Python第三方模块及其示例:paramiko-用于SSH连接和执行命令。示例:importparamikossh=par......