python异常处理

一 .什么是异常

异常指的是软件在运行的过程中,因为一些原因(如:使用者操作不当等)引起程序错误,导致软件奔溃的这种现象,就叫做异常

二、python处理异常

法一:
try … catch语句块来完成,使用try抓捕异常。

		try:
			# 将有可能触发异常的代码
	    except:
		     #处理异常的代码

example:
在这里插入图片描述
运行结果:
1)正常
在这里插入图片描述
2)不正常
在这里插入图片描述
法二:except后加异常的类型,as后为别名,如果知道类型就写类型,不清楚类型就用法三
在这里插入图片描述
运行结果:
在这里插入图片描述
常见的异常类型有:

>>> import builtins
>>> dir(builtins)

ValueError、KeyError、KeyboardInterrupt、ArithmeticError、FloatingPointError、IndexError、SyntaxError …
法三:不知到异常的类型时,使用BaseException 或者Exception都ok
原因:异常的继承关系如下
BaseException
|
Exception
|
常见异常(ValueError、KeyError、KeyboardInterrupt、ArithmeticError)
在这里插入图片描述
运行:
在这里插入图片描述

三、异常的处理流程

try:
	# 将有可能触发异常的代码
except Xxx as e:
	print("处理Xxx异常")
except Xxxx as e:
	print("处理Xxxx异常")
except Exception as e:
	print("使用多态将其他异常一网打尽")
# 在python中,很多块级作用域,都有这个else
else:
	print("没有出现异常时执行的代码")

四.多个异常的处理方式:

法一:

try:
	pass

except KeyboardInterrupt:
	pass
except BlockingIOError:
	pass
except EOFError:
	pass
except Exception:
	print("使用多态将其他异常一网打尽")

法二:(不推荐,认识就可以了)

try:
	 pass
except (KeyboardInterrupt, KeyError, ValueError,EnvironmentError) as e:
	 print("出现了异常")
					

五.自定义异常

1.finally关键字
finally:不管有没有异常出现,必须要执行的
注意区分else和finally,else:没有出现异常时执行的代码
一般会将必须要执行的代码,如资源的释放,链接的是关闭等等
在这里插入图片描述
运行:
1)出现异常
在这里插入图片描述
2)正常
在这里插入图片描述

函数中:如果在return后面存在finally,那么代码并不会直接返回,而是需要先执行finally代码,之后才会返回

2. 自定义异常
首先需要定义一个类,之后让这个类继承Exception\BaseException,当然建议使用Exception类

人为的抛出异常:
raise关键字
作用:提示错误,向上层传递错误信息
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值