zoukankan      html  css  js  c++  java
  • Python_base_04 异常捕捉

    表现形式:

    try:

      可能出现异常的代码块

    except Exception as 变量名:

      遇到异常时的处理方式

      打印变量

    异常处理中使用else

    含义:

    如果没有捕获到异常,则执行else中的代码块

    表现形式:

    try:

      可能出现异常的代码块

    except Exception:

      遇到异常时的处理方式

    else:

      没捕获到异常时执行的代码块

    示例:

    复制代码
    1 try:
    2     print("abcdefg")
    3 except Exception:
    4     print("---已知晓异常---")
    5 else:
    6     print("程序无异常")
    7 print("Hello World")
    复制代码

    运行结果:

    abcdefg
    程序无异常
    Hello World

    异常处理中使用finally

    含义:

    无论是否捕获到异常,最后都需执行finally中的代码块

    表现形式:

    try:

      可能出现异常的代码块

    except Exception:

      遇到异常时的处理方式

    else:

      没捕获到异常时执行的代码块

    finally:

      最后一定会执行的代码块

    示例:

    复制代码
    1 try:
    2     f = open("test.txt","r")
    3 except Exception:
    4     print("---已知晓异常---")
    5 else:
    6     print("程序无异常")
    7 finally:
    8     f.close()
    9 print("Hello World")
    复制代码

    运行结果:

    ---已知晓异常---
    Traceback (most recent call last):
      File "F:/untitled/Python_jichu/异常.py", line 8, in <module>
        f.close()
    NameError: name 'f' is not defined

    说明:

    因为不存在test.txt文件,所以f.close()会报错退出

     替换错误类型,并打印出错误信息,如下图:

    finally 是不管有没有异常,都会执行的。 

  • 相关阅读:
    hdu 4115 石头剪子布(2-sat问题)
    AFNetWorking POST Multi-Part Request 上传图片
    左右c++与java中国的垃圾问题的分析与解决
    ACM核武器
    MAX2323E
    cocos2d-x 发动机分析:程序如何开始和结束?
    STL 源代码分析 算法 stl_heap.h
    Android 4.4(KitKat)表格管理子系统
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/tianpin/p/10078003.html
Copyright © 2011-2022 走看看