一、各类简单错误
res = 5/0 print(res) ZeroDivisionError: division by zero import random guess = random.randint(10,20)#int num = input('please enter a num:')#string print(num+guess) TypeError: Can't convert 'int' object to str implicitly import random d = {'price':20} price = input('please enter a num:')#string d['price'] -= int(price) print(d) 输入非数字的price ValueError: invalid literal for int() with base 10: 's' list =[1,2,3,4] print(list[9]) IndexError: list index out of range
二、捕捉单个异常
first = input('请输入除数') second = input('请输入被除数') try: first = int(first) second = int(second) res = first/second # list =[1,2,3,4] # print(list[9]) #打印具体的报错信息 except ValueError as e:#这个e代表错误信息,如果上面的两行代码出现了ValueError这个错则: print(e) print('请输入整数。。。') except ZeroDivisionError as e: print('除数不能为0')
三、捕捉所有异常
first = input('请输入除数') second = input('请输入被除数') try: first = int(first) second = int(second) res = first/second # list =[1,2,3,4] # print(list[9]) #打印具体的报错信息 except Exception as e: #try中出异常的时候走这里,有try就有except print(e) print('出错了') else:#没有异常的时候走,没有出错,不是必须写的 print('并没有错',res) finally:#不管出错或没有出错都会执行它,不是必须写的 print('我是finally')
四、异常捕捉练习:完善mysql操作函数