Python第二语言(六、Python异常)

目录

1. 捕获异常(try: except: else: finally:)

1.1 概念

1.2 基础语法(try: except:)

1.3 捕获异常(异常也有类型)

1.4 捕获多个异常(try:except(NameError,ZeroDivisionError))

1.5 异常else(没有异常执行的代码块)

1.6 异常finally(出现异常也会执行)

2. 异常的传递性


导航:

Python第二语言(一、Python start)-CSDN博客

Python第二语言(二、Python语言基础)-CSDN博客

Python第二语言(三、Python函数def)-CSDN博客

Python第二语言(四、Python数据容器)-CSDN博客

Python第二语言(五、Python文件相关操作)-CSDN博客

Python第二语言(六、Python异常)-CSDN博客

Python第二语言(七、Python模块)-CSDN博客

Python第二语言(八、Python包)-CSDN博客

Python第二语言(九、Python第一阶段实操)-CSDN博客

Python第二语言(十、Python面向对象(上))-CSDN博客

Python第二语言(十一、Python面向对象(下))-CSDN博客

Python第二语言(十二、SQL入门和实战)-CSDN博客

Python第二语言(十三、PySpark实战)-CSDN博客

Python第二语言(十四、高阶基础)-CSDN博客

1. 捕获异常(try: except: else: finally:)

1.1 概念
  1. 整个程序因为一个BGU停止运行;
  2. 对BUG进行提醒,整个程序继续运行;
1.2 基础语法(try: except:)

(后面不加异常类型就代表捕获全部异常)

try:
    f = open('xxx', 'r')
except:
    print("文件打开错误")

1.3 捕获异常(异常也有类型)
  1. 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常;
  2. 一般try下方只放一行尝试执行的代码;
num = (1, 2)
try:
    print(num[3])  # 元组下标异常
except IndexError as e:
    print(e)

1.4 捕获多个异常(try:except(NameError,ZeroDivisionError))
try:
    print(1 / 0)
except (NameError, ZeroDivisionError):
    print("ZeroDivisionError错误...")

1.5 异常else(没有异常执行的代码块)
try:
    print(1)
except Exception as e:
    print(e)
else:
    print("无异常执行")

1.6 异常finally(出现异常也会执行)
f = None
try:
    f = open('xxx', 'r')
except Exception as e:
    print(e)
else:
    print("无异常执行")
finally:
    print("有异常也执行!")
    f.close()

2. 异常的传递性

(调用函数的时候,如果出现了异常,可以在最终调用的函数中处理异常)

注意:当所有函数都没有捕获异常的适合,程序会报错;

def func01():
    print("func01")
    num = 1 / 0
    print("func01结束")


def func02():
    print("func02")
    func01()
    print("func02结束")


def func03():
    print("func03")
    try:
        func02()
    except Exception as e:
        print(e)
    print("func03结束")


func03()

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值