zoukankan      html  css  js  c++  java
  • Python 之 try...except...错误捕捉

    Python常见异常类型大概分为以下类:

    1.AssertionError:当assert断言条件为假的时候抛出的异常

    2.AttributeError:当访问的对象属性不存在的时候抛出的异常

    3.IndexError:超出对象索引的范围时抛出的异常

    4.KeyError:在字典中查找一个不存在的key抛出的异常

    5.NameError:访问一个不存在的变量时抛出的异常

    6.OSError:操作系统产生的异常

    7.SyntaxError:语法错误时会抛出此异常

    8.TypeError:类型错误,通常是不通类型之间的操作会出现此异常

    9.ZeroDivisionError:进行数学运算时除数为0时会出现此异常


    导入:
    lib下面的模块文件可以直接导入,如果不是就要指明路径
    import class_test #具体到模块名
    class_test.add(2, 5)

    import 具体到函数名
    from class_test import add, sub, ...
    add(5, 6)

    测试代码 放在if下面
    if __name__ == '__main__': #执行程序的主入口
    print("今天天气不错!") # 只有当你在当前模块下执行代码的时候才会执行这里面的代码


    import time
    time.sleep(4)


    Python代码里的异常处理
    异常:代码运行的时候报错
    如果不处理,后续的程序就中断了

    1. 最简单的用法 try ... except
    try: 放你觉得有问题的代码,放监控代码
    except 捕捉错误并进行处理
    第一种用法:捕捉错误,不进行处理
    try:
    print(a)
    except: # 捕捉错误
    pass # pass 啥都不做,忽略,放生
    print("hello, world")

    第二种用法:对错误进行简单的处理
    try:
    print(a)
    except:
    print("error!!!") 捕捉错误后报错
    print("hello, world")

    第三种用法:打印出具体的错误
    try:
    print(a)
    except Exception as e: #中央空调
    print("出错了:%s" % e)
    print("hello, world")

    NameError()

    try:
    print(a)
    except NameError as e: # 小太阳
    print("出错了:%s" % e)
    print("hello, world")


    第四种用法:try...except...finally
    try:
    print(a)
    except IndexError as e: # 小太阳
    print("出错了:%s" % e)
    finally: #无论是否能捕捉到错误,finally后面的程序都运行
    print("hello, world")

    # 用途:一般我们用在文件或数据库资源的处理
    try:
    file = open('test.txt', 'w')
    file.read()
    except Exception as e:
    print("出错了:%s" % e)
    finally:
    file.close()

    第五种用法:try...except...else
    try:
    a = 4
    b
    except Exception as e:
    print("出错了:%s" % e)
    else: # 只有当try不报错的时候,才会继续执行
    print(a)

    # 第五种用法
    # 上下文管理器 with...as
    with open("test.txt", 'w') as file:
    file.write("今天天气真好")
    print("with代码内", file.closed)
    print(file.closed) # 布尔值
    # 什么时候用? mysql, txt文件资源

  • 相关阅读:
    二十三、DBMS_METADATA(提供提取数据库对象的完整定义的接口)
    二十二、utl_inaddr(用于取得局域网或Internet环境中的主机名和IP地址)
    二十一、utl_file(用于读写OS文件)
    二十、dbms_stats(用于搜集,查看,修改数据库对象的优化统计信息)
    十九、dbms_resource_manager(用于维护资源计划,资源使用组和资源计划指令)
    十八、dbms_repair(用于检测,修复在表和索引上的损坏数据块)
    十七、dbms_tts(检查表空间集合是否是自包含)
    十六、dbms_space_admin(提供了局部管理表空间的功能)
    十五、dbms_space(分析段增长和空间的需求)
    vuex—actions
  • 原文地址:https://www.cnblogs.com/coxiseed/p/9293888.html
Copyright © 2011-2022 走看看