• 异常 try ... expect ...


    异常的概念

    代码执行产生错误,无法继续

    异常的产生

    异常处理的目标:代码出现问题,不能让代码停止,继续运行,我们可以来处理这个异常
    方案1:
        if判断:未卜先知----要写if,后面跟着的条件是已知的------事前处理
        缺点:如果出现没有预料到底异常,或报错
    方案2:人体免疫系统----异常机制
        事后处理:出现问题,我们来处理---解决问题  

    异常捕获与处理

    方法一:类似if,可以预知异常

    while True:
        num = input('请输入一个整数: ').strip()
        try#捕获下面语句的异常
           
    print('100/{} = {}'.format(num,100/int(num)))
        except ZeroDivisionError: #一种已知的异常,其他异常无法捕获
           
    print('除数不能为0,请重新输入!')
        except ValueError as error:  #Error异常是一个类函数
           
    print('除数为数字,请重新输入!',error)

    方法二:

    while True:
        num = input('请输入一个整数: ').strip()
        try#捕获下面语句的异常
           
    print('100/{} = {}'.format(num,100/int(num)))
        except Exception: #未知的异常,异常的父类
           
    print('异常了,我来处理')

    方法三:可以输出异常

    while True:
        num = input('请输入一个整数: ').strip()
        try#捕获下面语句的异常
           
    print('100/{} = {}'.format(num,100/int(num)))
        except Exception as ex: #未知的异常,异常的父类
           
    print('异常了,我来处理',ex)

    方法四:较为通用

    while True:
        num = input('请输入一个整数: ').strip()
        try#捕获下面语句的异常
           
    print('100/{} = {}'.format(num,100/int(num)))
        except:
            print('异常了,我来处理')

    方法五:同时有已知异常和未知异常的捕获

    while True:
        num = input('请输入一个整数: ').strip()
        try#捕获下面语句的异常
           
    print('100/{} = {}'.format(num,100/int(num)))
        except ZeroDivisionError:  # 一种已知的异常,其他异常无法捕获
           
    print('除数不能为0,请重新输入!')
        except ValueError as error:  # Error异常是一个类函数
           
    print('除数为数字,请重新输入!', error)
        except:
            print('异常了,我来处理')

    方法六:追溯详细的日志

    import traceback
    while True:
        num = input('请输入一个整数: ').strip()
        try#捕获下面语句的异常
           
    print('100/{} = {}'.format(num,100/int(num)))
        except:
            print('异常了,我来处理',traceback.format_exc()) #详细的报错信息,可以添加到日志中

    例如:

    import traceback
    try:
        fo = open('xx.txt')
    except:
        print('xx.txt文件不存在')

  • 相关阅读:
    IDOC练习(一、发送端配置)
    节约性能的一个sql
    获取用户IP地址及用户名
    获取一个结构的所有字段
    获取文件名称的两个函数
    时间戳
    SMOD和CMOD
    内表生成XML简单实例
    ABAP 编辑器设置(主动…
    ABAP常用Function
  • 原文地址:https://www.cnblogs.com/like1824/p/12796329.html
Copyright © 2020-2023  润新知