pythoh 异常处理

在 Python 中,异常处理是一种管理程序运行时错误的技术。使用异常处理,可以使程序在遇到错误时不会崩溃,而是能够以一种优雅的方式处理问题或者进行恢复。Python 中的异常处理使用 `try` 和 `except` 块来实现。

### 基本语法

```python
try:
    # 可能引发异常的代码
    # 比如尝试打开文件、进行数值运算等
    result = 10 / 0  # 会引发 ZeroDivisionError 异常
except ZeroDivisionError:
    # 发生 ZeroDivisionError 异常时执行的代码块
    print("除数不能为零!")
except Exception as e:
    # 处理其他异常的代码块
    print(f"发生异常:{e}")
else:
    # 如果没有异常发生,则执行这里的代码块
    print("运行成功!")
finally:
    # 无论是否发生异常,都会执行这里的代码块
    print("无论如何都会执行的代码块")
```

### 说明

- `try` 块中的代码是需要进行异常处理的部分。如果这部分代码运行出现了异常,Python 会跳转到 `except` 块来处理异常。
- `except` 块用于捕获特定类型的异常,并执行相应的代码块。可以有多个 `except` 块来处理不同类型的异常。
- `else` 块中的代码在 `try` 块中的代码运行没有发生异常时执行。如果发生异常,则不会执行 `else` 块。
- `finally` 块中的代码不管是否发生异常都会执行,常用于释放资源或执行清理操作。

### 示例

```python
def safe_divide(x, y):
    try:
        result = x / y
    except ZeroDivisionError:
        print("除数不能为零!")
    except TypeError:
        print("输入的数据类型有误!")
    else:
        print(f"结果是: {result}")
    finally:
        print("执行结束")

safe_divide(10, 2)  # 正常运行
safe_divide(10, 0)  # 除数为零,触发异常
safe_divide(10, 'a')  # 类型错误,触发异常
```

在这个示例中,`safe_divide` 函数通过 `try` 和 `except` 块来处理除法可能遇到的错误,分别是除数为零的错误和类型错误。无论是否发生异常,`finally` 块中的代码都会被执行,以保证资源的释放或清理工作的进行。

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值