首页 > 编程知识 正文

python raise函数,python中raise用法

时间:2023-05-05 08:24:27 阅读:16914 作者:2138

使用raise语句时,会以以下基本格式显式触发异常:

出现raise异常类#异常时,会隐式创建类对象

抛出与raise异常类对象#异常类实例对象相对应的异常

raise #使刚发生的异常再次发生

在所述格式中,第一方法和第二方法是对等的,它们都导致指定的异常系统对象。 但是,第一种方法隐式创建异常类的实例,第二种形式是最常见的,它直接提供异常类的实例。 第三种方法用于使刚发生的异常再次发生。

1、使用类名引起异常

如果raise语句指定异常的类名,则会创建该类的实例对象并抛出异常。 例如:

raise索引错误

程序的执行结果如下。

跟踪后退(mostrecentcalllast ) :

file ' c :usersitcastpycharmprojectschapter 09 异常. py ',line 1,in

raise索引错误

索引错误

2、使用异常系统实例引起异常

显式创建异常类的实例,并直接使用该实例对象抛出异常。 例如:

index _ error=索引错误(

raise index_error

程序的执行结果为以下:

跟踪后退(mostrecentcalllast ) :

file ' c :usersitcastpycharmprojectschapter 09 异常. py ',line 2,in

raise索引错误

索引错误

3 .传递异常

无参数的raise语句再次触发刚发生的异常,并向外界传达异常。

例如:

try:

raise索引错误

except:

打印(错误) ) ) )。

雷西

在上面的示例中,在try中使用raise抛出IndexError异常,然后程序跳转到except子句并执行

输出语句,使用raise再次引发最近发生的异常,程序出现错误并中止执行。 mldxh的结果如下。

跟踪后退(mostrecentcalllast ) :

file ' c :usersitcastpycharmprojectschapter 09 异常. py ',line 2,in

raise索引错误

索引错误

搞错了

4 .指定异常的说明信息

使用raise语句抛出异常时,还可以在异常类中指定说明信息。 例如:

raise IndexError (索引下标超出范围) )。

在上面的示例中,在抛出异常类时传递了自定义描述信息。 程序的执行结果为以下:

d :bili _ newscriptspython.exec :/users/itcast/pycharmprojects/bili _ new/test.py

跟踪后退(mostrecentcalllast ) :

file ' c :usersitcastpycharmprojectschapter 09 异常. py ',line 1,in

raise IndexError (索引下标超出范围) )。

索引error :索引下标超出范围

5 .异常引起的异常

如果要将另一个异常抛出到异常,可以使用raise-from语句实现。 例如:

try:

编号器

exceptexceptionasexception :

raise IndexError (下标超出范围) from exception

在上面的示例中,try只定义了变量number,而未分配值,从而导致名称错误的差异

程序通常跳至except子句并运行。 except子句捕获所有异常,使用raise-from语句抛出NameError异常,然后抛出“超出范围的下标”异常。 程序的执行结果为以下:

跟踪后退(mostrecentcalllast ) :

file ' c :usersitcastpycharmprojectschapter 09 异常. py ',line 1,in

raise IndexError (索引下标超出范围) )。

索引error :索引下标超出范围

你觉得你喜欢吗

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。