python从入门到放弃5__异常

异常

我们在玩手机的时候,有时候软件莫名其妙就点不动了,或者强退了等等,这些都成为异常,我们通常来说是有bug了,所以在写程序的时候需要针对可能存在的异常进行捕获,这样有助于我们定位问题:啊~我们这里有bug,或者线上用户的异常比例明显比较高需要加以注意等等。

异常的捕获

基本语法

try:

        可能发生异常的代码

except:

        如果出现异常执行的代码

捕获指定异常

当然,代码中异常有很多种,一些异常是允许的或者无关紧要的,所以我们需要从一些异常中捕获我们需要的异常。

try:

        可能发生异常的代码

except TypeError as a: #这里的a是一个定义的临时变量

        出现指定异常时执行的代码

捕获多个异常

try:

        可能发生异常的代码

except (TypeError, NameError)as a: #这里的a是一个定义的临时变量

        出现指定异常时执行的代码

else,finally

try:

        可能发生异常的代码

except TypeError as a: 

        出现指定异常时执行的代码

else:

        如果没有异常时执行的代码(可选)

finally:

        不管是否有异常都会执行的代码(可选)

常见的报错类型

1. SyntaxError:语法错误。通常意味着代码中有些东西没有按照Python的语法规则来书写。例如,漏掉冒号、缩进错误、打错关键词等。

2. NameError:名称错误。当尝试访问一个未定义的变量或者函数时,会抛出这个错误。通常是因为打错名称或者忘记定义。

3. TypeError:类型错误。当对一个值进行了不允许的操作时,会出现这个错误。比如尝试将字符串和数字相加。

4. IndexError:索引错误。当尝试访问列表、元组或字符串等序列类型的非法索引时,会抛出这个错误。通常是因为使用了负数索引或超出序列的实际范围。

5. KeyError:键错误。当字典中查找不存在的键时,会出现这个错误。

6. AttributeError:属性错误。当尝试访问对象的一个不存在的属性或者方法时,会抛出这个错误。

7. ValueError:值错误。当传入一个函数或操作的参数是正确类型,但不包含合法的值时发生。例如,尝试将字符串转换为整数时,如果字符串不表示数字,则会出现此错误。

8. ZeroDivisionError:零除错误。在除法或模运算中,如果除数是0,则会引发此错误。

9. ImportError:导入错误。当尝试导入一个不存在的模块时,会抛出这个错误。

10. FileNotFoundError:文件未找到错误。当尝试打开不存在的文件时,会遇到这个错误。

11. OSError:操作系统错误。用于指示系统相关的异常,比如文件打开、操作失败等。

12. RuntimeError:运行时错误。当发生一个通常无法预见的错误时,通常会抛出这个异常。

13. MemoryError:内存错误。当程序运行时内存不足,无法完成操作时,会抛出这个错误。

14. RecursionError:递归错误。当递归调用的深度超过了最大限制时(默认是1000),Python会抛出这个错误。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值