• python编程从零基础到项目实践第九章学习---异常


    基本异常捕捉语句

    1、基本异常捕捉语句语法

    try:

      代码模块1

    except:

      代码模块2

    逻辑顺序:

    1、先执行try语句,代表捕捉异常机制开始

    2、执行代码模块1,若没有出错,忽略后续except关键字和代码模块2,代码正常执行完毕

    3、若在执行代码模块1过程中发生异常现象,则终止代码模块1内剩余代码的执行,转到except处

    4、except关键字捕捉到异常信息,并执行代码模块2,异常处理结束 

    def print_D(dic):
    i=0
    try:
    len1=len(dic)
    while i < len1:
    print(dic.popitem())
    i+=1
    except:
    print(222222)

    print(print_D({1:"a",2:"c"}))
    print(print_D([1,2,3]))

    (1, 'a')
    (2, 'c')
    None
    222222
    None

    finally子句的异常处理

    try:

      代码模块1

    except:

      代码模块2

    finally:

      代码模块3

    try:
    1/0
    except:
    print("不能是0")
    finally:
    print("成功了")

    不能是0
    成功了



    try:
    1/2
    except:
    print(11111)
    finally:
    print(222222)

      

    222222

    捕捉特定异常信息:

    ValueError         对象值不正确时触发

    IndexError     指定的字符串、元组、列表等序列对象的下标元素不存在时,触发该错误

    Nameerror  指定的对象名不存在时,触发该错误

    KeyError  指定的字典键不存在时,触发该错误

    TypeError  提供了错误类型的对象时,触发该错误

    ModuleNoFoundError    模块文件找不到或模块文件名写错时,触发该错误

    SynatxError   语法无效时,触发该错误

    AttributeError   对象属性、方法引用或赋值不当时,触发该错误

    try:
    i+=1
    except NameError:
    print(123213)

    123213

    指定多个特定出错

    try:
    i+=1
    except (NameError,TypeError):
    print(23232323)

    23232323

    raise触发错误
    i="1"
    if type(i)!=int:
    raise TypeError(123213)

    Traceback (most recent call last):
    File "D:/py自学代码/python从零基础到项目实践/第九章异常处理/try和except.py", line 41, in <module>
    raise TypeError(123213)
    TypeError: 123213

  • 相关阅读:
    TT ERP 业务功能分析 汇总
    CSRedis 使用说明
    多线程,控制Task的20个并发数量,全部子线程执行完后,获取所有返回的值
    React 和 vue的区别以及React的环境搭建,运行
    jar 包上传后 Xshell启动
    FileZilla 上传文件
    vue多环境配置
    el-tree 节点常用操作
    钉钉微应用
    Bonobo Git Server
  • 原文地址:https://www.cnblogs.com/astroboyliu/p/13503412.html
Copyright © 2020-2023  润新知