python中的错误和异常处理
来源:互联网 发布:邮箱软件下载 编辑:程序博客网 时间:2024/06/01 14:16
使用try except处理异常
try: print 10 / 0except ZeroDivisionError, e: print "catched a ValueError:",e
上面的代码中,被除数是0,会引发ZeroDivisionError,运行上面的代码:
catched a ValueError: integer division or modulo by zero
使用try except处理多个异常
如果一段代码可能跑出多个异常,try except也是可以处理的, 下面代码用来读取一个文件,并转换成整型输出
try: f = open("d:/num.txt") line = f.read(2) num = int(line) print "read num=%d" % numexcept IOError, e: print "catch error==:", eexcept ValueError, e: print "catch error==:", e
如果文件不存在,会捕捉到下面异常:
catch error==: [Errno 2] No such file or directory: 'd:/num.txt'
另外,如果读取的字符串不能转换成整型,则会捕捉到ValueError
catch error==: invalid literal for int() with base 10: 'd3'
使用try-except-else捕获异常
try: ....except: ....else: ....
如果没有异常,执行else中的代码
try: f = open("d:/num.txt") line = f.read(2) num = int(line) print "read num=%d" % numexcept IOError, e: print "catch error==:", eexcept ValueError, e: print "catch error==:", eelse: print "no error happend"
此时,执行效果如下:
try-finally捕获异常
try: try_codefinally: do_finally
上面的try–finally按照如下规则执行:
- 如果try语句没有捕获错误,do_finally代码执行
- 如果try语句捕获错误,程序首先执行do_finally语句,然后将捕获到的错误交给python解释器处理
try: f = open("d:/num.txt") line = f.read(2) num = int(line) print "read num=%d" % numexcept IOError, e: print "catch error==:", efinally: print "f close()" f.close()
上面的程序,当读取到非法字符串时候,此时转换成整型会出错,此时finally语句块先执行,然后,将异常交给python解释器处理
使用try-except-else-finally
try: try_codeexcept: except_codeelse: else_codefinally: finally_code
上面的代码块会按照下面的规则来执行:
- 若try语句没有捕获异常,执行完try代码段后,执行else代码段,最后执行finally
- 若try捕获异常,首先执行except处理错误然后finally
with语句
with context [as var]: with_code
- with语句用来代替try-except-finally语句
- context表达式返回是一个对象
- var用来保存context返回对象,单个返回值或者元组
- with_code使用var变量来对context返回对象进行操作
with open("d:/num.txt") as f: for line in f.read(): print lineprint "f is closed :",f.closed
此时运行效果如下:
使用raise语句抛出异常
自定义异常
class FileError(IOError): passtry: raise FileError, "this is a fileerror"except FileError, e: print e
此时运行会打印如下:
this is a fileerror
0 0
- python中的错误和异常处理
- python错误和异常处理
- python错误和异常处理
- 编程中的错误处理和异常处理
- Python中错误和异常处理
- PHP中的错误和异常处理
- php中的错误和异常处理
- python中的异常处理和调试
- Python中的异常处理
- python中的异常处理
- python中的异常处理
- python中的异常处理
- python 中的异常处理
- python中的异常处理
- Python中的异常处理
- python 中的异常处理
- python中的异常处理
- Python中的异常处理
- 三层结构 学生信息管理系统
- 51nod 任务执行顺序 贪心
- clean code整洁代码如何写?
- 152. Maximum Product Subarray 题解
- 递归法将整数n转换成字符串
- python中的错误和异常处理
- 打包第3方jar
- 手机端页面时,字体的显示大小与在CSS中指定的大小不一致
- 《华为机试在线训练》之去空格后整数求和
- PAT1068万绿丛中一点红
- Linux下RPM软件包的安装及卸载
- Codevs1013 单词背诵
- 喵哈哈村的打印机游戏(区间DP)
- 腾讯企业邮箱 python 发送邮件样例(二)