一文读懂Python3的异常处理

一、啥是异常

异常是指程序运行是时报错,如果没有进行异常处理,会导致程序终止。

二、异常的常见种类

1、常见异常

这里只列举几个最常见的异常,

  • ImportError,无法引入模块或包,大部分是路径问题或名称错误。
  • IOError,输入输出异常,大部分是无法打开文件。
  • TypeError,传入对象类型与要求的不符合。
  • NameError,使用一个还未被赋予对象的变量。
  • ValueError,传入一个调用者不期望的值,即使值的类型是正确的。
  • KeyError,尝试访问字典里不存在的键。
  • SystemError,一般的解释器系统错误。
  • KeyboardInterrupt,用户中断执行。
  • ZeroDivisionError,除(或取模)零。

一文读懂Python3的异常处理,就是这么简单

 

2、语法错误

错误按正常是不应该包含在异常里面的,但是其中的语法错误也是非常常见的,我们这里也简单提一下。语法错误(SyntaxError: invalid syntax),在编辑器里面编译的时候就会报错,执行后会提示在第几行有错误,非常清晰。

一文读懂Python3的异常处理,就是这么简单

 

三、异常处理

考虑到程序的健壮与容错性,我们需要对潜在的异常进行处理,防止因异常而导致的程序崩溃。最常用的的异常处理方式是:try……except,语法看下图,

一文读懂Python3的异常处理,就是这么简单

 

其中执行流程为:首先执行try语句;若try语句无异常发生,则跳过except子句,try语句执行后结束;若try语句有异常,则try语句余下的部分将被忽略,进入except部分,一层层匹配异常类型后执行。

一文读懂Python3的异常处理,就是这么简单

 

其中 try 语句可以包含多个 except 语句,分别来处理不同的特定的异常,但最多只有一个except 分支会被执行。

四、抛出异常

Python3 中使用 raise 语句抛出一个指定的异常。raise只有一个参数,用来指定要被抛出的异常,她必须是一个异常的实例或者是异常的类(也就是 Exception 的子类)。

一文读懂Python3的异常处理,就是这么简单

 

五、自定义异常

如果项目有需求,python3也支持用户自定义异常和对应的清理行为。自定义的异常类继承Exception 基类即可,对应的清理行为也可以自定义,有兴趣的可以自己尝试下。

一文读懂Python3的异常处理,就是这么简单

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值