python的异常处理

python中异常的类都继承自BaseException类
  • 普通异常处理

    例如:

      try:
          print('----')
          print(a)//这行有误
      
      except NameError as aa:
      
          print(aa)
          
          
      ----
      name 'a' is not defined
    
  • Exception类及其子类

      try:
      
          0/0
      
      except SyntaxError:
      
          print('语法错误')
      
      except NameError:
      
          print('名字错误')
      
      
      except ZeroDivisionError:
      
          print('分母不能为0')
      
      except Exception://如果上面列举的错误没有就走这里
    
       	 print('未知错误')
          
          
      分母不能为0
    
    
    
    
    
      try:
      
          print('000')
      
      except SyntaxError:
      
          print('语法错误')
      
      except NameError:
      
          print('名字错误')
      
      
      except ZeroDivisionError:
      
          print('分母不能为0')
      
      except Exception:
      
          print('未知错误')
      
      
      
      else:
          print('没有错误就走这里')
      
      
      finally:
      
          print('不管有没有错,都要走这里')  
          
          
      000
      没有错误就走这里
      不管有没有错,都要走这里
    
  • 自定义异常类

      自定义的异常类必须继承自Exception
      class Test(Exception):
      
          def error(self, name):
      
              if name == 'liping':
                  print('对头')
      
              else:
                  当需要时,抛出这个类
                  raise Test;
      
      
      
      
      try:
      
          test = Test()
          test.error('ll')
    
      //捕获这个异常
      except Test:
      
          print('名字有问题')
      
      
      except NameError:
          print('----')
      
      except Exception:
          print('未知错误')
          
          
      名字有问题
    
  • 断言 assert

      a = 1
      b = 2
      
      //断言,当条件不满足时崩溃
      assert  a == b
      
      print(a, b)
    
    
      assert  a == b
      AssertionError
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值