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

    异常处理

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

    一、语法异常(错误都是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)
    
  • 相关阅读:
    storm学习笔记
    Hbase学习笔记
    Hadoop实战项目之网站数据点击流分析(转载分析)
    Hive实战之学生选课
    Hive实战之求月销售额和累计销售额
    Hive实战之每年最高温度+时间
    Hive实战之学生课程成绩
    网易-C++开发实习生-业务初面和复面(视频)-20211028
    2021粤港澳大湾区智能网络与通信系统论坛-1026~1027-线上
    jupyter notebook
  • 原文地址:https://www.cnblogs.com/yanjiayi098-001/p/11310662.html
Copyright © 2011-2022 走看看