处理异常需要用到 try/except 语句
TypeError 就是一个异常,它告诉我们类型错误,不能给两个字符串做除法
1 while 1: 2 try: 3 4 num1=input('输入被除数:') 5 num2=input('输入除数:') 6 7 result=int(num1)/int(num2) 8 except ZeroDivisionError: 9 print('0不能做除数' +' ') 10 except ValueError: 11 print('请勿输入空值或字母' +' ') 12 13 else: 14 print('运算结果: %d' % result)
1 输入被除数:4 2 输入除数:3 3 运算结果: 1 4 输入被除数:4 5 输入除数:0 6 0不能做除数 7 8 输入被除数:5 9 输入除数:o 10 请勿输入空值或字母 11 12 输入被除数:6 13 输入除数: 14 请勿输入空值或字母 15 16 输入被除数:
有时不知道异常的名字,可以用 BaseException,它是所以异常的基类。
1 while 1: 2 try: 3 4 num1=input('输入被除数:') 5 num2=input('输入除数:') 6 7 result=int(num1)/int(num2) 8 except BaseException : 9 print('出现异常'+" ") 10 11 12 else: 13 print('运算结果: %d' % result)
1 输入被除数:5 2 输入除数:0 3 出现异常 4 5 输入被除数:6 6 输入除数:r 7 出现异常 8 9 输入被除数:6 10 输入除数:3 11 运算结果: 2 12 输入被除数:
鲁棒性
也就是系统和程序的稳定性、健壮性,我们在编程中要仔细考虑,看是否有的情况会导致程序无法正常运行,写出更具鲁棒性的程序