使用raise语句自己触发异常
来源:互联网 发布:咸鱼淘宝二手网 编辑:程序博客网 时间:2024/05/24 03:13
我们可以使用raise语句自己触发异常
raise语法格式如下:
raise [Exception [, args [, traceback]]]
语句中Exception是异常的类型(例如,NameError)参数是一个异常参数值。该参数是可选的,如果不提供,异常的参数是"None"。
最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。
实例
一个异常可以是一个字符串,类或对象。 Python的内核提供的异常,大多数都是实例化的类,这是一个类的实例的参数。
定义一个异常非常简单,如下所示:
def functionName( level ): if level < 1: raise Exception("Invalid level!", level) # 触发异常后,后面的代码就不会再执行
注意:为了能够捕获异常,"except"语句必须有用相同的异常来抛出类对象或者字符串。
例如我们捕获以上异常,"except"语句如下所示:
try: 正常逻辑except "Invalid level!": 触发自定义异常 else: 其余代码
实例
#!/usr/bin/python# -*- coding: UTF-8 -*-# 定义函数def mye( level ): if level < 1: raise Exception("Invalid level!", level) # 触发异常后,后面的代码就不会再执行try: mye(0) // 触发异常except "Invalid level!": print 1else: print 2
执行以上代码,输出结果为:
$ python test.py Traceback (most recent call last): File "test.py", line 11, in <module> mye(0) File "test.py", line 7, in mye raise Exception("Invalid level!", level)Exception: ('Invalid level!', 0)
阅读全文
0 0
- 使用raise语句自己触发异常
- python触发异常——raise语句
- delphi raise 语句: 抛出异常
- delphi raise 语句: 抛出异常
- python中异常处理--raise的使用
- Oracle中RAISE异常详解
- Oracle中RAISE异常详解
- Oracle中RAISE异常详解
- Oracle中RAISE异常详解
- raise error mysql引发异常
- 异常处理try...except、raise
- Python 主动抛异常(raise)
- 异常捕获与自定义raise异常
- python 引发异常 raise()及异常处理
- raise()
- raise()
- Python raise 抛出异常的说明
- Delphi学习之Raise(抛出异常)
- matlab 生成二维或三维空间中满足正态分布的样本点,并绘图
- 多态原理
- 软件工程的生命周期
- Swift4.0 — 属性
- Storm Streams
- 使用raise语句自己触发异常
- (二)文件I/O 3.creat函数和close函数
- LwIP动态内存管理
- mathematica StringCases和StringReplace,Regex
- 【深度学习】初始化笔记
- tensorflow选择性读取权重
- LintCode-分治-验证二叉查找树
- 《Eve: Valkyrie Warzone》发布,非VR玩家也能公平开战
- dubbo的consumer代理的生成方式源码