python异常和错误
2017-02-24 11:53
239 查看
1、try……except
上面except子句不跟任何异常和异常参数,所以无论try捕获了任何异常,都将交给except子句的exception block来处理。
如果我们要处理特定的异常,比如说,我们只想处理除零异常,如果其他异常出现,就让其抛出不做处理,该怎么办呢?这个时候,我们就要给except子句传入异常参数啦!那个ExceptionN就是我们要给except子句的异常类(请参考异常类那个表格),表示如果捕获到这类异常,就交给这个except子句来处理。比如:
*Python异常类*
NameError 尝试访问一个没有申明的变量
ZeroDivisionError 除数为0
SyntaxError 语法错误
IndexError 索引超出序列范围
KeyError 请求一个不存在的字典关键字
IOError 输入输出错误(比如你要读的文件不存在)
AttributeError 尝试访问未知的对象属性
ValueError 传给函数的参数类型不正确,比如给int()函数传入字符串形
2、try……except……else
作用:就是当没有检测到异常的时候,则执行else语句
3、finally子句
finally子句是无论是否检测到异常,都会执行的一段代码。我们可以丢掉except子句和else子句,单独使用try…finally,也可以配合except等使用。
4、断言
断言就是判断是否跟预期结果一致,不一致的话,测试用例直接失败,程序便不再执行下去。
assert是断言的关键词,执行该语句的时候,先判断表达式expression,如果表达式为真,则什么都不做;如果表达式不为真,则抛出异常。
断言使用的主要是assertEqual的方法
如验证百度搜索的标题是否为“123_百度搜索”
如要验证是否为false
如要验证是否为true
而验证为了保证失败也能正常运行下去,一般情况下都是在验证的基础上加异常捕获
如验证百度搜索的标题是否为“123_百度搜索”
try: try_suite except: exception block
上面except子句不跟任何异常和异常参数,所以无论try捕获了任何异常,都将交给except子句的exception block来处理。
如果我们要处理特定的异常,比如说,我们只想处理除零异常,如果其他异常出现,就让其抛出不做处理,该怎么办呢?这个时候,我们就要给except子句传入异常参数啦!那个ExceptionN就是我们要给except子句的异常类(请参考异常类那个表格),表示如果捕获到这类异常,就交给这个except子句来处理。比如:
try: floatnum = float(raw_input("Please input a float:")) intnum = int(floatnum) print 100/intnum except ZeroDivisionError: print "Error:you must input a float num which is large or equal then 1!" except ValueError: print "Error:you must input a float num!"
*Python异常类*
NameError 尝试访问一个没有申明的变量
ZeroDivisionError 除数为0
SyntaxError 语法错误
IndexError 索引超出序列范围
KeyError 请求一个不存在的字典关键字
IOError 输入输出错误(比如你要读的文件不存在)
AttributeError 尝试访问未知的对象属性
ValueError 传给函数的参数类型不正确,比如给int()函数传入字符串形
2、try……except……else
作用:就是当没有检测到异常的时候,则执行else语句
3、finally子句
finally子句是无论是否检测到异常,都会执行的一段代码。我们可以丢掉except子句和else子句,单独使用try…finally,也可以配合except等使用。
4、断言
断言就是判断是否跟预期结果一致,不一致的话,测试用例直接失败,程序便不再执行下去。
assert expression[,reason]
assert是断言的关键词,执行该语句的时候,先判断表达式expression,如果表达式为真,则什么都不做;如果表达式不为真,则抛出异常。
断言使用的主要是assertEqual的方法
如验证百度搜索的标题是否为“123_百度搜索”
self.assertEqual(u"123_百度搜索",driver.title)
如要验证是否为false
self.assertFalse(driver.title)
如要验证是否为true
self.assertTrue(driver.title)
而验证为了保证失败也能正常运行下去,一般情况下都是在验证的基础上加异常捕获
如验证百度搜索的标题是否为“123_百度搜索”
try: self.assertEqual(u"1234_百度搜索", driver.title) except AssertionError as e: print u"找不到这个标题"
相关文章推荐
- Python 2.7 Tutorial —— 错误和异常
- Python指南--错误和异常
- Python2.x的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- Python 错误和异常小结
- Python 错误和异常小结
- 学学python(2):错误和异常
- 定义不同错误的异常类 分类: python异常 2014-01-09 14:21 251人阅读 评论(0) 收藏
- Python 错误和异常小结
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- [PYTHON] 核心编程笔记之十-Python错误和异常
- Python指南--错误和异常
- Python 错误和异常小结
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- python错误和异常(1)
- python学习(二)之文件处理与错误异常
- 【python学习】之一、错误与异常
- 方法编码解决Python2.x的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- python错误和异常学习笔记
- Python 错误和异常小结
- python 错误和异常