今天,咱们探讨 2 个关于异常处理的实用功能。
1 强制输入整数
强制输入整数,否则程序不终止。要想实现这个功能,可使用 try 和 except :
In [5]: while True:
...: try:
...: a = int(input('请输入一个整数: '))
...: break
...: except ValueError:
...: print('input value is not a valid number')
...:
请输入一个整数: e
input value is not a valid number
请输入一个整数: f
input value is not a valid number
请输入一个整数: 1
一旦输入不是整数,就会触发 ValueError
异常,再次提示输入一个整数。直到输入一个整数,才会 break
这是 try 和 except 的一个典型应用。
2 try except 和 else
try 和 except 组对比较容易理解,触发异常执行 except 里的代码,否则不执行。但是加上一个 else 实现怎样的作用呢?
首先看下面的例子:
In [9]: while True:
...: try:
...: a = int(input('请输入一个整数: '))
...: except ValueError:
...: print('input value is not a valid number')
...: else:
...: if a % 2 == 0:
...: print('输入的 %d 是偶数' %(a,))
...: else:
...: print('输入的 %d 是奇数' %(a,))
...: break
测试:
请输入一个整数: t
input value is not a valid number
请输入一个整数: 5
输入的 5 是奇数
try 保护的代码正常通过后,else 才执行。
有的朋友会问,为什么不把 else 这块代码放到 try 里面?这还是有一定区别的。放到 else 中意味着这块代码不必受保护。
阅读更多:
以上就是 2 个关于异常处理的实用功能。码字不易,点个在看。