python程序异常处理

python程序异常处理

在python程序中,若用户输入的字符不符合程序规定,例如用户需输入数字,则程序正常进行,若用户输入的不是数字,则需要异常处理提醒用户进行正确的操作。

一 . python中使用try-expect语句实现异常处理,其基本语法格式如下:

try<语句块1>
except <异常类型>:
	<语句块2>

语句块1是正常执行的程序内容,当发生异常时执行except保留字后面的语句块2,为小程序增加异常处理。例如:

try:
	num = eval(input("请输入一个整数:"))
	print(num**2)
except NameError:
	print("输入错误,请输入一个整数!")
>>>
请输入一个整数:happy
输入错误,请输入一个整数!

二 .异常的高级用法
try-except语句可以支持多个except语句,语法格式如下:

try:
	<语句块1>
except <异常类型1>:
	<语句块2>
...
except <异常类型N>:
	<语句块N+1>
except:
	<语句块N+2>

其中,第1个到第N个except语句后面都指定了异常类型,说明这些except所包含的语句块只处理这些类型的异常。最后一个except没有指定任何类型的异常,表示它对应的语句块可以处理其他所有类型异常(分支结构的一种表达方式)。例如:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
该程序将用户输入的数字作为索引从字符串a中返回一个字符,当用户输入非整数字时,except NameError异常被捕获到,提醒用户输入类型错误,当用户输入的数字不在0~25之间时,异常被except捕获,程序打印其他错误信息。

三 .异常语句配合else和finally保留字的使用
基本格式如下:

try:
	<语句块1>
except <异常类型1>:
	<语句块2>
else:
	<语句块3>
finally:
	<语句块4>
  1. 正常处理时,不执行except异常类型,即语句块2,直接执行else语句块3。最后执行finally语句块4。
  2. 异常处理时,执行except异常处理的语句块,不会执行else语句块3。最后执行finally语句块4。
  3. 注意:不管异常与否,finally语句块一定会执行!可以将程序执行语句块1的一些收尾工作放在这里了,例如 关闭、打开文件等。

采用else和finally修改代码如下:
在这里插入图片描述
在这里插入图片描述
【注】try-except异常一般只用来检测极少发生的情况,例如用户输入的合规性或者打开文件是否成功等。采用此异常处理会影响代码的可读性,增加代码维护难度,因此一般只在关键地方采用。对于面向商业应用的软件产品,稳定性和可靠性是最重要的衡量指标之一。

四.拓展 异常和错误的区别 以及 python异常信息含义说明.
1.异常和错误的区别
编程语言的异常和错误是两个相似但不同的概念。异常和错误都可能引起程序错误而退出,它们属于程序没有考虑到的例外情况,然而,绝大多数不可控因素是可以预见的。可以预见的例外情况称为异常,异常发生后经过妥善处理可以继续执行;不可预见的例外情况称为错误,错误发生后程序无法恢复执行,而且程序本不该处理这类可能的例外。

2.python异常信息含义说明
在这里插入图片描述
在这里插入图片描述
以上内容摘自python语言程序设计基础(第2版)嵩天老师等人著+小编自己的整理与理解

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值