Python学习笔记十八_异常处理

一、各类简单错误

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操作函数

猜你喜欢

转载自www.cnblogs.com/dongrui624/p/9054142.html