zoukankan      html  css  js  c++  java
  • 异常处理

    异常处理

    '''
    代码报错一般有两种:
        语法错误
        逻辑错误
    语法错误是不能容忍的
    逻辑错误,是可以容忍的
    
    报错内容分为三部分
        报错类型
        报错信息
        报错位置
    '''
    
    # try:
    #     # name
    #     d = {'name':'asd'}
    #     d['choice']
    # except NameError:
    #     print('NameError')
    # except KeyError:
    #     print('KeyError')
    '''
    发送错误后,会立即停止执行代码
    执行except语句,对比发送错误的类型
    '''
    
    
    # try:
    #     name
    #     d = {'name':'asd'}
    #     d['choice']
    # except Exception as e:  # 把错误信息赋值给变量名e
    #     print(e)
    
    
    # Exception, BaseException  这两个是万能捕获异常  能捕获所有类型错误
    
    # try:
    #     name
    #     d = {'name':'asd'}
    #     d['choice']
    # except NameError as e:  # 把错误信息赋值给变量名e
    #     print(e)
    # else:
    #     print('代码没有错误时,会执行else的代码')
    # finally:
    #     print('不管代码有没有错,都会执行这段代码')

    主动抛出异常

    # 主动抛出异常
    # tank = 'dsb'
    # if tank == 'sb':
    #     print('tank真帅')
    # else:
    #     raise Exception

    断言

    # 断言
    l = [1,2,3]
    assert len(l) > 4
    # 断言判断某个数据状态,猜对了就继续执行下面的代码,没猜对直接报错

    自定义异常

    # 自定义异常
    # class MyError(BaseException):
    #     def __init__(self, msg):
    #         super().__init__()
    #         self.msg = msg
    #
    #     def __str__(self):
    #         return '%s' %self.msg
    #
    #
    # raise MyError('自定义的异常')  # 主动抛出异常其实就是将异常类对象打印出来,需要走__str__方法
  • 相关阅读:
    走迷宫(三):在XX限制条件下,是否走得出。
    ELMo
    BERT
    ARNOR 远程关系监督抽取
    谷歌T5
    seq2seq
    Attention Is All You Need(Transformer)
    attention的实现
    RNN
    test
  • 原文地址:https://www.cnblogs.com/asdaa/p/11323032.html
Copyright © 2011-2022 走看看