• 异常


    复制代码
    异常
    a    #NameError 错误
    2+''  #TypeError 错误
    1/0  #ZeroDivisionError 错误
    iter([]).next()  #AttributeError  错误
    iter([]).__next__()  #StopIteration  异常
    import hahaha #ModuleNotFoundError
    [][4]  #IndexError
    复制代码
    try:
        num = int(input('请输入序号 : '))
    except ValueError as e:
        print('出错啦',e)
    try except语句
    需要检测异常的代码放在try代码块
    需要处理的代码放在except代码块
    不报错不执行except内的代码,except处理的错误名称应该和实际报错一致,否则无效
    如果报错try中报错之后的代码不执行,不影响try外面的代码
    except ErrorName as 变量名:变量名中存储的就是错误的具体提示
    except支持多分支处理的方式,从上到下先找到能处理的error类型,就执行该except中的内容
    万能异常except Exception as e,e表示错误提示,应该放在所有except之后
    对于你已经预料到的错误 应该使用指定的异常进行特殊处理
    万能异常是用来处理预料不到的异常类型的
    try:
        num = int(input('请输入序号 : '))
    except Exception as e:
        print('异常啦')
    else:   #如果try中的代码不会发生异常,就走这个else中的内容
        print('没毛病')
    复制代码
    try:
        num = int(input('请输入序号 : '))
    except Exception as e:
        print('异常啦')
    else:   #如果try中的代码不会发生异常,就走这个else中的内容
        print('没毛病')
    finally:
        print('不管异常不异常我都走这个')
    复制代码
    复制代码
    def func():
        f = open('f','w')
        try:
            for i in range(10):
                f.write(i)
        except Exception:
            print(123)
            return
        finally:   #在一个函数中 操作一个文件 需要关闭,在finally中关闭
            print('before close')
            f.close()
            print('after close')
    
    func()
    复制代码
    异常处理:不要在大段代码外面加
  • 相关阅读:
    向量的旋转
    阅读开源库源码,发现这两个方法,惭愧啊!真没看明白
    小实例窥探dotnet垃圾回收
    记录asp.net在IE10下事件丢失排错经过
    CSS布局技巧之——各种居中
    前端程序员容易忽视的一些基础知识
    Web前端体系的脉络结构
    前端程序员容易忽视的一些基础知识
    CSS布局技巧之——各种居中
    面试分享:一年经验初探阿里巴巴前端社招
  • 原文地址:https://www.cnblogs.com/xyhh/p/10833619.html
Copyright © 2020-2023  润新知