python处理异常

来源:互联网 发布:ftp服务器默认端口号 编辑:程序博客网 时间:2024/04/30 08:59

当python遇到错误时,它会引发一个异常(exception),并以此说明发生了某种异常状况。如果不对异常进行处理的话,python就会停止正在做的事情并显示一条详细说明异常情况的错误信息。

使用try-except语句

最简单的处理异常手段就是使用带有except的try语句。try语句用于将可能引发异常的代码隔离开,except子句用于标记当异常出现时需要执行的代码块。

<span style="font-size:10px;">#try-excepttry:    num=float(input("Enter a number: "))except:    print("something weng wrong!")</span>
输出:


指定异常类型

不同的错误会引发不同类型的异常。except子句可以准确指定需要处理的异常类型。要指定单个异常类型,只需在except后面直接写上异常类型即可。

<span style="font-size:10px;">#指定异常类型try:    num=float(input("Enter a number: "))except ValueError:    print("That was not a number!")</span>
输出:

指定具体的异常类型是一种良好的编程习惯,因为这样可以对不同情况进行不同的处理。

处理多种异常

一条代码可能会引发出不同类型的异常。使用多个except子句可以在同一个try块中对不同的异常作出不同的响应。

<span style="font-size:10px;">#处理多种异常for value in (None,"hi"):    try:        print("Attempting to convert",value,"-->",end=" ")        print(float(value))    except TypeError:        print("I can only convert a string or a number!")    except ValueError:        print("I can only convert a string of digits!")</span>
输出:


获取异常的参数

当异常发生时,它可能还会有一个与之关联的值,即该异常的参数(argument)。这个参数通常是python用于描述该异常的正式消息。获取该参数的办法是:在异常类型后面指定一个变量,并在这两者之间加上关键字as.

<span style="font-size:10px;">#处理异常的参数try:    num=float(input("Enter a number: "))except ValueError as e:    print("That was not a number! Or as python would say ...")    print(e)</span>
输出:


try-except-else

可以在try语句的最后面加上一个else子句(即所有except子句之后)。只有当try块中的代码没有引发任何异常时,else中的代码块才会被执行。

<span style="font-size:10px;">#try-except-elsetry:    num=float(input("Enter a number: "))except ValueError as e:    print("That was not a number! Or as python would say ...")    print(e)else:    print("You entered the number",num)</span>
输出:








0 0
原创粉丝点击