#挑战每日一条沸点#
4月11日 day 1
打卡 python 手动抛出异常:raise抛出异常。
raise语句的基本语法格式为:
raise [exceptionName [(reason)]]
参数的解析:[]里面表示为可选参数,作用是指定抛出的异常名称、异常信息的相关描述。
- 如果可选参数全部省略,raise会把当前错误原样抛出。
- 如果仅省略(reason),则在抛出异常时,将不附带任何的异常描述信息。
故raise的三种常见用法:
1)raise:单独一个raise。该语句引发当前上下文中捕捉的异常(比如在except 块中。)默认引发 RuntimeError 异常。
2)raise 异常类名称:raise后带一个异常类名称,表示引发执行类型的异常。
3)raise 异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息。
当在没有引发过异常的程序使用无参的 raise 语句时,它默认引发的是 RuntimeError 异常。
因此:每次执行 raise 语句,都只能引发一次执行的异常。
再来学习 try except(else finally)异常处理结构。这个语句的作用是:捕获异常并进行处理。
try块会捕获raise抛出的异常,并由except块进行处理。
因此,这样处理(使用try except),在程序中使用了raise语句引发异常,但程序的执行是正常的,手动抛出异常并不会导致程序崩溃。
使用示例:
try:
a = input("输入一个数:")
if(not a.isdigit()):
raise ValueError("a 必须是数字")
except ValueError as e:
print("引发异常:",repr(e))
raise
4月11日 day 1
打卡 python 手动抛出异常:raise抛出异常。
raise语句的基本语法格式为:
raise [exceptionName [(reason)]]
参数的解析:[]里面表示为可选参数,作用是指定抛出的异常名称、异常信息的相关描述。
- 如果可选参数全部省略,raise会把当前错误原样抛出。
- 如果仅省略(reason),则在抛出异常时,将不附带任何的异常描述信息。
故raise的三种常见用法:
1)raise:单独一个raise。该语句引发当前上下文中捕捉的异常(比如在except 块中。)默认引发 RuntimeError 异常。
2)raise 异常类名称:raise后带一个异常类名称,表示引发执行类型的异常。
3)raise 异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息。
当在没有引发过异常的程序使用无参的 raise 语句时,它默认引发的是 RuntimeError 异常。
因此:每次执行 raise 语句,都只能引发一次执行的异常。
再来学习 try except(else finally)异常处理结构。这个语句的作用是:捕获异常并进行处理。
try块会捕获raise抛出的异常,并由except块进行处理。
因此,这样处理(使用try except),在程序中使用了raise语句引发异常,但程序的执行是正常的,手动抛出异常并不会导致程序崩溃。
使用示例:
try:
a = input("输入一个数:")
if(not a.isdigit()):
raise ValueError("a 必须是数字")
except ValueError as e:
print("引发异常:",repr(e))
raise
展开
评论
点赞