python 的异常处理

    Python编程 wuya 132次浏览 已收录 0个评论

    异常处理

    相关概念

    • 错误:程序运行之前的语法问题。如:关键字、缩进对齐、符号不成对等
    • 异常:程序运行过程中出现的问题。如:除数为0、下标越界、访问不存在的对象属性等

    异常处理

    • 说明
      • 异常处理就是在程序出现异常时进行人为的干预
      • 异常处理可以认为是一种特殊的流程控制语句
      • 异常处理可以提高代码的健壮性
    • 语法
      try:
          print('正常代码')
          a = 10 / 0
          print('执行结束')
      except Exception as e:
          # Exception是所有异常的基类
          # 捕获异常,然后进行异常的处理
          print('出现异常', e)
      
      print('OVER')
    • 多异常处理
      '''
      # 每种异常都有特定的处理方案,可以进行单独处理
      try:
          print('正常代码')
          # print(a)
          # print(10/0)
          print([][3])
          print('正常结束')
      except NameError as e:
          print('NameError', e)
      except ZeroDivisionError as e:
          print('ZeroDivisionError', e)
      except Exception as e:
          print('其他异常', e)
      '''
      try:
          print('正在执行')
          # print(a)
          print(10/0)
          print('正常结束')
      except (NameError, ZeroDivisionError) as e:
          # 分组处理异常
          print('NameError or ZeroDivisionError', e)
      except Exception as e:
          print('其他异常', e)
          
      print('OVER')    
    • 完整异常结构
      try:
          print('正常执行')
          print(10/0)
          print('正常结束')
      except Exception as e:
          print('出现异常', e)
      else:
          print('else语句:没有异常时会执行')
      finally:
          print('finally语句:无论有无异常都执行')
      
      print('OVER')
    • 手动抛出异常
      try:
          print('正常执行')
          # 手动抛出异常
          raise Exception('手动抛出的异常')
          print('正常结束')
      except Exception as e:
          print('出现异常', e)
      
      print('OVER')
    • 异常嵌套
      print('我要去上班,什么也阻止不了上班的脚步')
      
      try:
          print('我准备骑电动车去上班')
          raise Exception('不知道哪个粗心的家伙把我充电器弄掉了')
          print('骑电车提前到达公司')
      except Exception as e:
          print('电车异常:', e)
          try:
              print('于是我准备坐公交车去上班')
              raise Exception('等了15分钟一直没有公交车到来')
              print('乘坐公交准时到达公司')
          except Exception as e:
              print('公交异常:', e)
              print('于是决定打车去上班')
              print('打车还是快,提前达到公司')
      
      print('热情满满开始一天的工作')
    • 自定义异常类

    学海无涯 , 版权所有丨如未注明 , 均为原创丨转载请注明python 的异常处理
    喜欢 (0)
    发表我的评论
    取消评论
    表情 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址