zoukankan      html  css  js  c++  java
  • 异常

    复制代码
    异常
    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()
    复制代码
    异常处理:不要在大段代码外面加
  • 相关阅读:
    codevs 1115 开心的金明
    POJ 1125 Stockbroker Grapevine
    POJ 2421 constructing roads
    codevs 1390 回文平方数 USACO
    codevs 1131 统计单词数 2011年NOIP全国联赛普及组
    codevs 1313 质因数分解
    洛谷 绕钉子的长绳子
    洛谷 P1276 校门外的树(增强版)
    codevs 2627 村村通
    codevs 1191 数轴染色
  • 原文地址:https://www.cnblogs.com/xyhh/p/10833619.html
Copyright © 2011-2022 走看看