分享

Python异常处理

 融水公子 2019-07-03

讲解对象:Python异常处理

作者:融水公子 rsgz


1 通常使用try...except 块来处理任意异常

2 首先执行 try 子句

3 没有异常发生,except 子句 在 try 语句执行完毕后就被忽略

4 在 try 子句执行过程中发生了异常,那么该子句其余的部分就会被忽略

5 如果异常匹配于 except 关键字后面指定的异常类型,就执行对应的 except 子句。然后继续执行      try 语句之后的代码

6 如果发生了一个异常,在 except 子句中没有与之匹配的分支,它就会传递到上一级 try 语句中

7 最终仍找不到对应的处理语句,它就成为一个 未处理异常,终止程序运行,显示提示信息

8 一个空的 except 语句能捕获任何异常


实例:

def get_number():

    "Returns a float number"

    number = float(input("Enter a float number: "))

    return number


while True:

   try:

        print(get_number())

    except ValueError:

        print("You entered a wrong value.")


运行:

9 输入了一个合适的浮点值,解释器返回输出这个值

Enter a float number: 45.0

45.0


10 输入以逗号分隔的值,抛出 ValueError 异常,except 子句捕获之,并且打印出错误信息

Enter a float number: 24,0

You entered a wrong value.

Enter a float number: Traceback (most recent call last):

  File "<stdin>", line 3, in <module>

  File "<stdin>", line 3, in get_number


11 Ctrl + C ,导致了 KeyboardInterrupt 异常发生,这个异常并未在 except 块中捕获,因此程序执行被中止

KeyboardInterrupt


12 一个空的 except 语句能捕获任何异常

>>> try:

...     input() # 输入的时候按下 Ctrl + C 产生 KeyboardInterrupt

... except:

...     print("Unknown Exception")

...

Unknown Exception

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多