Python基础-异常处理

异常是写代码的过程中经常出现的问题,也是软件构建、跟用户交互必不可少的重要内容。
在实际生活中,如果用户没有按照软件代码预想的方式进行操作,导致代码出现异常报错,就需要进行很好的异常处理,引导用户以正确方式使用软件。

异常处理主要分为以下内容:
在这里插入图片描述

一、异常也是一种对象

  • 异常是一种Python用来管理程序执行期间发生错误的一种特殊对象;
  • 异常有很多常见类型,在上图中有所穷举,适当记住一些可协助自己在写代码的过程中快速理解报错原因,高效的修改代码;
  • 异常之间有些存在一定的包含关系;

二、异常的处理

1. try-except

(1)一个try VS 一个except

try:
要检测的东西(一般是怀疑可能出现报错的内容)
except Exception(一般是怀疑可能的报错类型):
与怀疑的报错一致时的处理代码

举例:
以处理ZeroDivisionError异常为例

try:
    print(5/0)
except ZeroDivisionError :
    print('Zero can not be divided')

在这里插入图片描述

(2)一个try VS 多个except

同一个try后可带有多个except,但最多只会有一个分支被执行;且当有包含关系的两种报错类型分别在两个except语句中出现,则谁先出现执行谁;

举例:
查询错误包含键错误和值错误,如果查询错误和键错误同时出现在一个try的两个except分支,则若查询错误在前,执行查询错误分支;若键错误在前,执行键错误分支;

dict1 = {
   'a': 1, 'b': 2, 'v': 22}
try:
    x = dict1['y']
except KeyError:
    print('键错误')
except LookupError:
    print('查询错误')
else:
    print(x)

在这里插入图片描述

dict1 = {
   'a'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,我会尽力回答你的问题。 首先,让我们来谈谈 Python 中的异常处理。在 Python 中,异常是程序在运行时遇到的错误或问题,它会导致程序停止运行并抛出一个异常。为了避免这种情况,我们可以使用 try/except 块来捕获并处理异常。例如: ``` try: # some code that might raise an exception except SomeException: # handle the exception ``` 其中,SomeException 是你想要捕获的异常类型。当代码运行到 try 块中的代码时,如果出现了 SomeException 异常,那么 except 块中的代码就会被执行。 接下来,让我们来谈谈 Python 中的对象。在 Python 中,一切都是对象,包括数字、字符串、函数等等。对象有一个类型,它定义了对象可以执行的操作。例如,数字类型可以执行加、减、乘等操作,字符串类型可以执行拼接、切片等操作。你也可以创建自己的对象,并定义它们的类型和操作。 最后,让我们来谈谈 Python 中的迭代器。迭代器是一种对象,它可以让你逐个访问一个序列中的元素。Python 中的迭代器是通过 __iter__ 和 __next__ 方法实现的。__iter__ 方法返回一个迭代器对象,__next__ 方法返回序列中的下一个元素。例如: ``` class MyIterator: def __init__(self, data): self.data = data self.index = 0 def __iter__(self): return self def __next__(self): if self.index >= len(self.data): raise StopIteration result = self.data[self.index] self.index += 1 return result my_iter = MyIterator([1, 2, 3]) for item in my_iter: print(item) ``` 在上面的例子中,我们创建了一个名为 MyIterator 的迭代器对象。它有一个 data 属性,表示要迭代的序列,以及一个 index 属性,表示当前迭代的位置。__iter__ 方法返回 self,表示它本身就是一个迭代器对象。__next__ 方法返回序列中的下一个元素,并将 index 属性加 1。当迭代器遍历到序列末尾时,会抛出 StopIteration 异常,表示迭代结束。 希望这些信息能够对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值