• 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'  #会有提示具体哪里出错了
  • 相关阅读:
    SubString函数总结
    button按钮居中
    2019 面试题
    linux(centos)搭建SVN服务器
    svn 设置钩子将代码同步到web目录下面
    sql 语句总结
    php 多维数组转换
    php 两个数组是否相同,并且输出全面的数据,相同的加一个字段标示
    PHP错误类型及屏蔽方法
    设置div中文字超出时自动换行
  • 原文地址:https://www.cnblogs.com/wxm422562/p/10822120.html
Copyright © 2020-2023  润新知