raise挂起_CodingPark编程公园

raise

手动设置异常:一旦执行了raise语句,raise后面的语句将不能执行。
发生异常和程序执行错误是两码事,程序由于错误导致的运行异常,是需要程序员想办法解决的;
但还有一些异常,是程序正常运行的结果,比如用 raise 手动引发的异常。

raise语法格式如下:
raise [Exception [, args [, traceback]]]

raise 语句有如下三种常用的用法

  1. raise:单独一个 raise。该语句引发当前上下文中捕获的异常(比如在 except 块中),或默认引发 RuntimeError 异常。

在这里插入图片描述

  1. raise 异常类名称:raise 后带一个异常类名称,表示引发执行类型的异常。
    raise [Exception [, args [, traceback]]]
    语句中 Exception 是异常的类型(例如,NameError)参数标准异常中任一种,args 是自已提供的异常参数。

Exception 没有使用异常的类型 🙅‍♂️
在这里插入图片描述

Exception 是异常的类型🙆‍♂️
在这里插入图片描述

  1. raise 异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息。

在这里插入图片描述

推荐使用

# -*- encoding: utf-8 -*-
"""
@File    :   test_raise.py    
@Contact :   ag@team-ag.club
@License :   (C)Copyright 2019-2020, CodingPark

@Modify Time      @Author    @Version    @Desciption
------------      -------    --------    -----------
2020-07-14 21:32   AG         1.0         None
"""

# 函数
def my(level):
    if level < 1:
        raise Exception("Invalid level!")
        print('我不会被执行')
        # 触发异常后,后面的代码就不会再执行
    print('我也不会被执行')

# 从这里 - 运行程序
try:
    my(0)  # 触发异常
except Exception as err:
    print('\n位置1  错误原因-> ', err)
else:
    print('\n位置2')
    

结果展示
在这里插入图片描述

在这里插入图片描述

评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 鲸 设计师: meimeiellie 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值