Python学习第十天

异常处理

Python提供了异常处理机制,可以在异常出现时及时捕获,并且进行处理。

单个except结构

try:
    a = int(input('请输入第一个整数: '))
    b = int(input('请输入第二个整数: '))
    result = a / b
    print('结果是', result)
except ZeroDivisionError:
    print('除数不能为0')

多个expect结构

捕获的顺序应按照从子类到父类的顺序,为了避免出现遗漏的异常,可以在最后加上BaseException

try:
    a = int(input('请输入第一个整数: '))
    b = int(input('请输入第二个整数: '))
    result = a / b
    print('结果是', result)
except ZeroDivisionError:
    print('除数不能为0!')
except ValueError:
    print('请输入整数!')
except BaseException as e:
    print(e)

try...except..else结构

如果try块中没有出现异常,就执行else块;若抛出异常,则执行except块。

try:
    a = int(input('请输入第一个整数: '))
    b = int(input('请输入第二个整数: '))
    result = a / b

except ZeroDivisionError:
    print('除数不能为0!')
except ValueError:
    print('请输入整数!')
except BaseException as e:
    print(e)
else:
    print('结果是', result)

try...except...else...finally结构

无论是否发生异常,finally块都会执行,常用来释放try块中申请的资源。

try:
    a = int(input('请输入第一个整数: '))
    b = int(input('请输入第二个整数: '))
    result = a / b

except ZeroDivisionError:
    print('除数不能为0!')
except ValueError:
    print('请输入整数!')
except BaseException as e:
    print(e)
else:
    print('结果是', result)
finally:
    print('我都会执行!')

常见的异常类型

posted @ 2021-02-05 13:45  sxhyyq  阅读(40)  评论(0编辑  收藏  举报