python Exception中的raise、assert
2024-09-28 22:51:21
使用raise抛出异常
当程序出现错误,python会自动引发异常,也可以通过raise显式地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。
演示raise用法。
try:
s = None
if s is None:
print "s 是空对象"
raise NameError #如果引发NameError异常,后面的代码将不能执行
print len(s)
except TypeError:
print "空对象没有长度"
自定义异常
python允许程序员自定义异常,用于描述python中没有涉及的异常情况,自定义异常必须继承Exception类,自定义异常按照命名规范以"Error"结尾,显示地告诉程序员这是异常。自定义异常使用raise语句引发,而且只能通过人工方式触发。
from __future__ import division class DivisionException(Exception):
def __init__(self, x, y):
Exception.__init__ (self, x, y) #调用基类的__init__进行初始化
self.x = x
self.y = y if __name__ == "__main__":
try:
x = 3
y = 2
if x % y > 0 : #如果大于0, 则不能被初始化,抛出异常
print x/y
raise DivisionException(x, y)
except DivisionException,div: #div 表示DivisionException的实例对象
print "DivisionExcetion: x/y = %.2f" % (div.x/div.y)
运行结果:
1.5
DivisionExcetion: x/y = 1.50
assert语句的使用
assert语句用于检测某个条件表达式是否为真。assert语句又称为断言语句,即assert认为检测的表达式永远为真,if语句中的条件判断都可以使用assert语句检测。
最新文章
- Asp.Net 数据库连接字符串
- MQ安装配置
- [BS-11] 关于RGB/ARGB颜色相关知识
- ELF学习--装载过程
- 【CF】220B Little Elephant and Array
- Linux yum命令重装mysql
- datagridview的数据源的操作
- c# 菜单无限极分类-利用递归
- Swift - 使用UIView给页面添加4×4方格
- Cstyle的UEFI导读:第20.0篇 IGD OpRegion interface &;amp;&;amp; IGD OpRegion PROTOCOL
- Linear Regression with Scikit Learn
- 基于MSRDS机器人仿真平台的多机器人PID编队控制算法
- SQLserver数据库反编译生成Hibernate实体类和映射文件
- 2018.10.2浪在ACM 集训队第二次测试赛
- 2.5 SeleniumBuilder辅助定位元素
- 7-12 The Rotation Game IDA*
- HDUOJ---1213How Many Tables
- poj 1995 Raising Modulo Numbers 题解
- URL地址传值型多条件搜索JS
- 终端工具putty访问vmware centos系统