zoukankan      html  css  js  c++  java
  • 异常处理

    1、异常处理

    在程序运行的过程中,总会遇到各种各样的错误。程序如果出错就停止运行,不符合实际需求。为了不让程序出错时停止运行,这时需要捕捉异常。通过捕捉到的异常,做相应的处理。

    捕捉异常使用 try... except...关键字。

    例如:

    first = input('请输入除数:')
    second = input('请输入被除数:')

    try:
    first = int(first)
    second = int(second)
    res = first/second
    # except ValueError as e: #e代表错误信息
    # print(e)
    # print('出错了......')
    # except ZeroDivisionError as e:
    # print('除数不能为0')
    except Exception as e: #有错误时执行
    print(e)
    print('出错了')
    else: #不是必须写的,是没有错误执行的
    print('没有错误')
    print(res)
    finally: #不管出错 或是没有出错,都会执行,不是必须写
    print('我是finally')

    说明:
    finally的用法,就是不管出不出异常都执行
    else:没有出异常时,执行的逻辑

    二、常见异常信息
    AttributeError: 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x
     
    IOError:输入/输出异常,一般是无法打开文件
     
    ImportError: 无法导入模块或包,一般是路径问题或名称错误
     
    IndentationError:代码没有正确对齐,属于语法错误
     
    IndexError:下标索引超出序列边界,比如x只有三个元素,却试图访问x[3]
     
    KeyError:试图访问字典里不存在的键
     
    KeyboardInterrupt:Ctrl+C被按下
     
    NameError:使用一个还未被赋予对象的变量
     
    SyntaxError: 语法错误
     
    TypeError: 传入对象类型与要求的不符
     
    UnboundLocalError:试图访问一个还未被设置的局部变量,一般是由于在代码块外部还有另一个同名变量
     
    ValueError: 传入一个调用者不期望的值,即使值的类型是正确的
     
    三、主动抛出异常
    主动抛出异常,就是在代码里面让它自动抛出一个异常,然后捕捉到,比如说我们在写自动化测试脚本的时候,结果和预期不符合,就可以主动抛出一个异常信息,然后捕捉到,做其他的处理,主动抛出异常使用raise关键字
     
    try:
        raise KeyError
    except KeyError as e:
        print('这是主动抛出的异常捕捉后的处理在这里写')
  • 相关阅读:
    Oracle冷备份需要保存的文件
    oracle 重建 sys密码文件
    ORA-01991错误
    oracle ORA-01033问题怎么解决
    oracle创建表空间
    oracle 10G服务器端安装以及冷备份恢复
    完全卸载oracle11g步骤
    42. 函数指针用在菜单驱动系统中,练习函数指针数组的使用。
    41. 定义与调用一个函数指针时的几种方式
    40. 使用数组时的四个要点
  • 原文地址:https://www.cnblogs.com/liuyanerfly/p/9056919.html
Copyright © 2011-2022 走看看