• Python异常处理


    2019-05-28

    Python中的异常处理

    需求:
      当程序遇到问题时不让程序结束,而越过错误继续向下执行

    try......except.....else
    格式:
    try: 语句t except 错误表示码 as e: 语句2 ....... except 错误表示码 as e: 语句n else: 语句e

     

    注意:
      else语句可有可无
    作用:
      用来检测try语句块中的错误,从而让except语句捕获错误信息并处理

    逻辑:
      当程序执行到try-except-else语句时
        1、如果当try语句执行出现错误,会匹配第一个错误码,如果匹配上就执行对应的"语句"
        2、如果try语句执行出现错误,没有匹配的异常,错误将会将提交到上一层的try语句。或者到程序的最上层。
        3、如果try语句执行没有出现错误,执行else下的语句else/得存在
      使用execpt而不使用任何的错误类型
      使用execpt带着多种异常

     

    try:
      pass
    except(NameError,ZreoDivisionError)
      print("出现了NameError或ZreoDivisionError")



    特殊的一些错误:
      1、错误其实就是class(类),所有的错误都继承自BaseException,所以在捕获的时候,它不回来该类型的错误,还把子类一网打尽。
      2、跨越多层调用,main调用了func2,func2调用了func1,func1出现了错误,这是只要main捕获到了就可以处理。例如以下:

    def func1(num):
        print(1/num)
    def func2(num):
        func1(num)
    def main():
        func2(2)
    main()

    写代码时内出现错误,怎么检测异常

    try.....except.......finally

    格式:

    try:
    语句1
    except 错误表示码 as e:
    语句2
    .......
    
    except 错误表示码 as e:
    语句n
    finally:
    语句f
    作用:语句1无论是否有错误都将继续执行最后的语句f

    断言:

    def func(num,div):
    assert(div !=0),"div不能为0"
    return num/div
    
    print(func(10,0))
    
     

    常见错误:

    Name Error 变量没定义
    Systax Error 语法错误
    IO Error 文件错误
    Zero DivisionError 10/0,除零错误
    Value Error 值错误,例如a = int(‘aa’)
    keyboard Interrupt 强制终止程序产生,ctrl+c强制终止程序运行

     

    喜欢的可以打赏!!!
  • 相关阅读:
    SpringIOC框架简单实现(注解实现)
    Spring前瞻----Java反射机制
    SpringMVC_前置知识
    SpringAOP_构造注入实现
    SpringAOP_设置注入实现
    SpringIOC-设置注入实现
    IDEA一些常用快捷键
    第一章计算机网络概述
    第二大章--数据链路层思维导图
    第一大章--1.2标准化工作
  • 原文地址:https://www.cnblogs.com/despatch/p/10937820.html
Copyright © 2020-2023  润新知