python 异常及处理

  • 1.简介
    • python文件无法正常执行的时候就会发生一个异常并终止程序
    • 异常是一种事件,是python对象,表示一个错误
    • 当我们希望在发生异常时继续执行程序时,需要处理异常
  • 2.捕获异常  try.....except
    • try:
      • 可能会发生异常的代码
    • except:
      • 有异常才会进入的代码块
      • 发生异常,跳过try代码块发生异常后的语句,直接执行except
    • 一个try可以接多个except ,但是最大的(Exception) 要放在后面
    • except:      捕获所有异常(无法得到详细信息,如果想得到信息)
    • except xxxError as err:     捕获精准异常
    • except (xxxError,yyyError) as err:   捕获多个异常,把多个异常写入元组中
    • except Exception as err:    Exception  常规错误的基类
    • err 为捕获的异常消息
  • 3.try....except....else....finally
    • else 为没有捕获到异常执行的语句
    • finally 无论异常是否发生,都会执行的语句 (适用于文件操作,数据库操作)
      • 注意:如果在一个函数中。只要有finally 都会执行里面的语句(不管前面有没有return)
      • 如果在异常发生之前 有return 那么跳过except,else 语句块
  • 4.异常传递
    • 如果try嵌套,那么如果里面的try没有捕获到这个异常,那么外面的try会接收到这个异常,然后进行处理,如果外边的try依然没有捕获到,那么再进行传递。
    • try..else 是错误语法
    • 函数中,当函数a中有异常但没有try...except 处理异常,当函数b中调用函数a时,可以在函数b中使用try...except 捕获处理函数a产生的异常
  • 5.自定义异常
    • 1.系统默认抛出异常
    • 2.主动抛出异常
      • 1.抛出系统异常
      • 2.抛出自定义异常
      • 步骤
        • 1.自定以一个异常子类
          • class 子类(Exception):
            • def __init__(self,message):
            • super().__init__()
            • self.message=message    -->message 错误信息
        • 2.使用自定义异常
          • 符合题目要求的情况下,创建自定义异常子类的对象,并使用 raise 抛出 异常子类对象
        • 3.处理异常
          • try:
            • raise 异常对象
          • except: 自定义异常子类 as 自定义异常对象:
            • print(自定义异常对象.message) --> 打印错误信息
          • super().__init__()
            • 这一行代码,可以调用也可以不调用,建议调用,因为__init__方法往往是用来对创建完的对象进行初始化工作,
            • 如果在子类中重写了父类的__init__方法,即意味着父类中的很多初始化工作没有做,这样就不保证程序的稳定了,
            • 所以在以后的开发中,如果重写了父类的__init__方法,最好是先调用父类的这个方法,然后再添加自己的功能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值