Python raise主动触发异常

Python raise主动触发异常教程

Python 中,我们可以使用 raise 语句自己主动触发 异常,如果执行了 raise 语句,那么 raise 后面的语句将不能执行。

Python raise详解

语法

raise [Exception [, args [, traceback]]]

参数

参数 描述
Exception 异常的类型中的任意一种。
args 自已提供的异常参数。
traceback 可选的(在实践中很少使用)。

说明

其中 Exception 参数 是异常的类型中的任意一种,args 是自已提供的异常参数。最后一个参数 traceback 是可选的(在实践中很少使用),如果存在,则是跟踪异常对象。

案例

Python raise主动触发异常

使用 Python raise主动触发异常

if __name__ == '__main__': print("嗨客网(www.haicoder.net)") try: num = int(input("Please input a number:")) print("Your input is:", num) if num < 10: raise ValueError print("try Done") finally: print("In Finally")

程序运行后,控制台输出如下:

17 python raise主动触发异常.png

我们在 try 字句里面,使用 if 语句 判断如果我们输入的 int 值 小于 10,那么我们使用 raise 主动触发一个 ValueError,我们看到触发了 ValueError 之后,raise 后面的语句不再继续被执行。

Python raise主动触发异常

使用 Python raise主动触发异常

if __name__ == '__main__': print("嗨客网(www.haicoder.net)") try: num = int(input("Please input a number:")) print("Your input is:", num) if num > 10: raise ValueError("value too large") except ValueError as e: print("In ValueError exception, ", e) finally: print("In Finally")

程序运行后,控制台输出如下:

18 python raise主动触发异常.png

我们在 try 字句里面,使用 if 语句判断如果我们输入的 int 值大于 10,那么我们使用 raise 主动触发一个 ValueError,并且输入了具体的错误信息。

接着,我们在输入时,输入了 1024,我们看到触发了 ValueError,同时,我们在 except 字句中捕获到了 ValueError 异常,同时输出了错误信息。

Python raise主动触发异常教程总结

在 Python 中,我们可以使用 raise 语句自己主动触发异常,如果执行了 raise 语句,那么 raise 后面的语句将不能执行。