python异常处理之raise

异常处理的基本使用:
try:
<语句块1>
except:
<语句块2>

我们把将要执行的语句块放在try语句对应的语句块1中,如果一旦它出现了异常,我们执行except对应的语句块2;如果它不出现异常,则执行语句块1后继续执行后续的语句。

为了进一步去区分不同类型的异常,我们可以在except中增加一个异常类型的标记,只有在这种异常类型发生时,才会执行语句块2.

try:
<语句块1>
except<异常类型>:
<语句块2>

因为程序出现异常时,会报出NameError,所以异常类型我们直接可以用:NameError表明。

异常处理的高级使用:
try:
<语句块1>
except:
<语句块2>
else:
<语句块3>
finally:
<语句块4>

——finally对应的语句块4无论是否发发生异常,一定执行。
——else对应的语句块3在未发生异常时执行。

当程序出现错误时,python会自动引发异常,此外python也允许我们在程序中手动设置异常,使用raise语句即可,触发异常后,后面的语句将不再执行。

raise的语法格式为:
raise[Exception[,ags[traceback]]]

raise有三种用法:
1、raise:单独一个raise.该语句引发当前上下文中捕获的异常(比如在except块中),或默认引发RuntimeError异常。
2、raise 异常类名称:raise后带一个异常类名称,表示引发执行类型的异常。
3、raise 异常类名称(描述信息):在引发指定类型的异常的同时,辅导异常类型的描述信息。

Traceback (most recent call last):
  File "", line 1, in <module>
RuntimeError: No active exception to reraise
>>> raise ValueError
Traceback (most recent call last):
  File "", line 1, in <module>
ValueError
>>> raise ValueError("值错误")
Traceback (most recent call last):
  File "", line 1, in <module>
ValueError: 值错误

以上内容,如有错误,敬请批评指正!

你可能感兴趣的:(python异常处理之raise)