Python异常处理try...except...finally raise assert
异常处理:
try ...except try代码块放置容易发生异常的语句:except代码块放置处理异常的语句
try ...except...finally finally代码快是任何时候都会执行的;通常用于关闭系统的资源
- try:
- f = open('db100.txt','r')
- try:
- a = f.write('aa')
- print a
- except:
- print 'write error'
- finally:
- f.close()
- print 'close file'
- except:
- print 'open error'
- 输出:
- write error
- close file
raise 抛出异常;
- def reporterror(x):
- if x == None:
- raise NameError
- print x
- try:
- reporterror(None)
- except NameError:
- print 'x == None'
- #输出:
- x == None
自定义异常:
必须继承于Exception类
类名以Error结尾
自定义异常使用raise语句引发,而且只能通过手工引发:
Python pass 语句
Python pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。
- class MyError(Exception):
- pass
- def reporterror(x):
- if x == None:
- raise MyError()
- print x
- try:
- reporterror(None)
- except MyError,error:
- print 'x == None'
- #输出:
- x == None
- --------------------------------------
assert:语句用于测试某个条件表达式为真,即认为测的表达式永远为真,如果断言失败,会引发AssertionError异常
- str = 'hello'
- try:
- #x = 10/0
- assert len(str) == 3
- except AssertionError,x:
- print 'assert error',x
- 输出:
- assert error
异常信息:
str = 'hello'
- try:
- x = 10/0
- assert len(str) == 3
- except AssertionError,x:
- print 'assert error',x
- except Exception ,ex:
- print ex
- 输出:
- integer division or modulo by zero
Python异常处理try...except...finally raise assert的更多相关文章
- python异常处理--try except else raise finally
转载自https://www.cnblogs.com/bokeyuan11/p/9146607.html 写程序时遇到异常情况,程序可能无法正常运行.此时就需要引入异常处理 1.try ...exce ...
- python异常处理try,except,else,finally,raise
先看下else的使用: try: ... exception: ... else: ... 只有在try中没有发生任何异常,所有代码完全成功的情况下才会转入else 再看下finally: final ...
- Python 异常处理--raise函数用法
raise语句手工引发一个异常: "raise" [expression ["," expression ["," expression]] ...
- python 异常处理函数--raise
Python 异常处理--raise函数用法 在Python中,要想引发异常,最简单的形式就是输入关键字raise,后跟要引发的异常的名称.异常名称标识出具体的类: Python异常处理是那些类的对象 ...
- PYTHON 异常处理 一 ASSERT
assert语句,如果没记错,这个东西在C或者C++里面也有的.属于短小的断言.下面的是来自python help document的说明: Assert statements are a conve ...
- Python异常处理总结
一.何谓异常处理 在我们调试程序时,经常不可避免地出现意料之外的情况,导致程序不得不停止运行,然后提示大堆提示信息,大多是这种情况都是由异常引起的.异常的出现一方面是因为写代码时粗心导致的语法错误,这 ...
- Python异常处理回顾与总结
1 引言 在我们调试程序时,经常不可避免地出现意料之外的情况,导致程序不得不停止运行,然后提示大堆提示信息,大多是这种情况都是由异常引起的.异常的出现一方面是因为写代码时粗心导致的语法错误,这种错误在 ...
- 笔记:Python异常处理与程序调试
Python异常处理与程序调试 Python提供了强大的异常处理机制,通过捕获异常可以提高程序的健壮性.异常处理还具有释放对象,中止循环的运行等作用.在程序运行的过程中,如果发生了错误,可以返回事先约 ...
- python异常处理(基础)
之前在学习python的时候有整理过python异常处理的文章,不够简单也不够完整,所以决定再整理一篇,算做补充. http://www.cnblogs.com/fnng/archive/2013/0 ...
随机推荐
- 登入爱丽网后台(非JS绕过、非盲打、非IP欺骗)
后台: http://wed.27.cn/marry/marryadmin/web/login.php 不难猜解到后台管理的相关页面名称(不存在的页面服务器返回404,而存在的页面会直接跳转到上面的登 ...
- HTML5 input file控件使用accept过滤限制的文件类型以及在谷歌下打开很慢的问题
在文件上传控件(input type='file')中,可以通过accept属性实现对文件类型的过滤. 一.相关代码: 下面给出对应的文件上传控件代码: <input type="fi ...
- 使用Nodejs的Nodemailer通过163信箱发送邮件例程
首先需要安装一下nodemailer #nmp nodemailer install --save 然后就参照官方文档的例程改写一下就行了,代码如下: 'use strict'; const node ...
- iOS核心动画 - CALayer
大家知道,在iOS中所有的视图都继承自UIView. UIView处理所有的触摸事件和画图. 事实上,UIView所有的渲染和动画是托管给另一个类来负责的,它就是CALayer. 但是,需要记住的是, ...
- redis配置密码的方法
打开redis.conf配置文件,找到requirepass,然后修改如下: requirepass yourpasswordyourpassword就是redis验证密码,设置密码以后发现可以登陆, ...
- 〖Android〗(how-to) fix k860/k860i buletooth.
bluedroid.so for k860/k860i 1./media/Enjoy/AndroidCode/cm10.1/device/lenovo/stuttgart/bluetooth/blue ...
- 如何配置 Oracle VirtualBox 中的客户机与物理机网络
当你在 Oracle VirtualBox 虚拟机软件 中安装了各种操作系统时,你可能需要实现物理机与虚拟机之间的相互访问. 在这篇文章中,我们将会以最简单明了的方式来说明如何配置客户机与 Linux ...
- webqq协议分析之~~~~验证是否需要验证码
对于小黄鸡我想大家(喜欢在群里bb的人...)肯定一点都不陌生,那段时间大家在群里对小鸡是各种调戏啊,都有点不忍直视.那时我便想能不能自己也做个呢,后来想想还是算了吧,自己技术太渣渣,然后就不了了之. ...
- sqlserver学习笔记(二)—— 创建登录名、用户名
(重要参考:51自学网——SQL Server数据库教程) 登录名与用户名的区别: 1.登录名是指可以使用新建的登录名和密码登录数据库这个程序软件,但不能打开或展开用户自己创建的数据库: 2.用户名是 ...
- Directshow开发播放器相关介绍
原文地址:http://www.cnblogs.com/qiufa/archive/2006/12/19/596949.html DirectShow技术是DirectX推出的建立在DirectDra ...