zoukankan      html  css  js  c++  java
  • day 21 03 补全异常处理

    day 21 03  异常处理(补全)

    1.异常处理的整体几个语句:

    try:
        .......#有可能出错的代码
        ret=int(input('number >>>'))
        print(ret*'*')
    except ValueError:
        print('您输入的内容错误,请输入一个数字')
    except KeyError:
        print('请输入正确的格式')
    except Exception:
        print('你错了,老铁')
    else:
        print('没有异常的时候执行else里面的代码')#当try里面的代码都执行成功,即没有异常的时候就会执行else里面的代码
    finally:
        print('====')# 不管有没有异常,都会执行,finally后面的代码都可以继续执行

    2.什么时候用finally

    举一个例子:无论什么时候,打开一个文件,就会在操作结束后关闭文件,而当不知道操作过程有没有出错的时候就可以用finally了

    def func():
        try:
            f=open('file','w')
            return True
        except:
            return False
        finally:
            print('执行finall了')
            f.close()#肯定是在最后面关闭文件是最好的,无论中间有没有错误,打开了文件,总是要关闭的
    print(func())

    运行结果:

    执行finally了
    True
    #return肯定是执行了,但是在return的过程中,它先执行了finally里面的代码,后面才接收返回的值,然后结束有跳出函数

    finally:不管代码是否异常都会执行

                  finally和return相遇的时候依然会执行

                  一般都是在函数里面做异常处理,不管是否异常去做一些收尾工作

    3.当使用万能异常机制exception的时候可提示具体哪里错误

    try:
        # .......#有可能出错的代码
        ret=int(input('number >>>'))
        print(ret*'*')
    # except ValueError:
    #     print('您输入的内容错误,请输入一个数字')
    # except KeyError:
    #     print('请输入正确的格式')
    except Exception as error:  #这里加一个as语句,as+起一个名字
        print('你错了,老铁',error)  #打印的时候也要打印上面起的名字
    #输入一个错误的a
    number >>>a
    你错了,老铁 invalid literal for int() with base 10: 'a'  #会有提示具体哪里出错了
  • 相关阅读:
    JSP
    结束程序-wpscloudsvr 程序没有响应,要返回Windows并检查程序状态,请单击“取消”,如果选择立即结束程序,你会失去
    解决Serlet API没导进导致的错误
    JDBC工具类
    数据库小项目
    数据库外键主键
    Mysql操作表时报错Table doesn't exist解决办法
    这大概是最细的YOLOX中的Mosaic And Mixup 实现源码分析了吧
    Sigcomm20 Hoyan 阅读笔记
    定时获取最新ssr服务器的方法
  • 原文地址:https://www.cnblogs.com/wxm422562/p/10822120.html
Copyright © 2011-2022 走看看