• 异常处理


    异常处理

    什么是异常,其实异常就是我们通常所说的报错。

    一、语法异常(错误都是SyntaxError)

    if   #SyntaxError
    0 = 1  #SyntaxError
    

    二、逻辑异常(错误类型往往是不一样的)

    aaa  # NameError
    
    l=['egon','aa']  
    l[3]   # IndexError
    
    dic={'name':'egon'}
    dic['age']  # KeyError
    

    怎样去解决这样的异常问题的,我们需要对异常进行一个捕捉

    1.try……except

    基本语法为
    try:
        被检测的代码块
    except 异常类型:
        try中一旦检测到异常,就执行这个位置的逻辑
    
    print(1)
    try:  # 尝试
        num = input('输入一个值')    #dic{[657]}
        dic = {'0': 'a'}
        print(dic[num])    ##dic{[657]}
        dic = {'0': 'a'}
    
        print(3)  # 代码自上而下,上面会运行
        1 / int(num)  # 错误不影响其他的代码,报错马上终止try缩进里面的代码
        print(4)
    
    except ZeroDivisionError as e:  # 除此之外  # try里面的代码出了什么错误,就得用什么错误捕捉  # as是把错误赋值给e
        print('e:', e)
    except KeyError as e:  # 可以写多个except捕捉多个异常
        print('e:', e)
    

    2.这是一个万能的异常Exception,让我们举个栗子

    s1 = 'hello'
    try:
        int(s1)
    except Exception as e:
        print(e)
    

    了解

    1.raise 抛出异常

    只在创建框架、创建语言的时候有用

    print(1)
    raise ZeroDivisionError('小可爱,主动抛错干嘛')
    print(2)
    

    2.assert 断言

    最早的时候没有pycharm,拿这个做调试

    a = 1
    a += 1
    assert a == 3  # 条件成立会跳过,条件错误会报AssertionError错
    print(3)
    

    3.finally 最终的

    print(1)
    try:  # 尝试
        1 / 1
    except Exception as e:  # Exception可以捕捉任意异常
        print('e:', e)
    finally:  # 最终的意思,无论报不报错都会打印 
        print(3)
    
  • 相关阅读:
    vue-slot插槽
    js中filter函数
    js异步处理
    js变量提升
    js中的4种函数调用模式
    js方法
    Javascript中的闭包 O__O "…
    js实现瀑布流以及加载效果
    2D转换下的zoom和transform:scale的区别
    [转]JavaScript与元素间的抛物线轨迹运动
  • 原文地址:https://www.cnblogs.com/yanjiayi098-001/p/11310662.html
Copyright © 2020-2023  润新知