第一章 1.14 异常捕获

一. 异常

程序在运行过程中的报错就叫异常


二. 异常捕获

1. 使用异常捕获的场景

在知道某个位置可能会出现异常,但开发者无法控制时使用

2. 捕获异常

①:捕获任何异常

"""
try:
    代码块一(可能出现异常的代码)
except:
    代码块二(对异常进行处理)
finally:
    代码块三
其他语句
"""
  • 先执行代码块1,如果异常,直接执行代码块2,依次往后执行;若代码块1没有异常,不执行代码块2,往后执行

②:捕获针对异常

"""
try:
    代码块一(可能出现异常的代码)
except 异常类型:
    代码块二(对异常进行处理)
其他语句
"""
  • 先执行代码块1,如果异常,检查该异常是否和except后的异常类型是否一致若一致,执行代码块2,依次往后执行;若不一致,程序崩溃.

③:捕获多个异常一(相同处理)

"""
try:
    代码块一(可能出现异常的代码)
except (异常类型1, 异常类型2...):
    代码块二(对异常进行处理)
其他语句
"""

④:捕获多个异常一(不同处理)

"""
try:
    代码块一(可能出现异常的代码)
except (异常类型1):
    代码块二(对异常进行处理)
except (异常类型2):
    代码块三(对异常进行处理)
except (异常类型3):
    代码块四(对异常进行处理)
    ...  
其他代码
"""


三. 关键字finally

在以上四个捕获异常的方法中都可以在最后加上finally关键字,它的作用是:不管try中的代码出现任何情况,finally后的代码都会执行

try:
    print({'name': 'an', 'age': 29}['gender'])
    print('hello'[19])
    print(max([10, 'asd', True]))
except IndexError:
    print('出现异常')
finally:
    print('写遗书')

四. 抛出异常

raise 异常类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值