python 异常处理
文件写入操作,如果发生IO异常,则打印没找到文件,读取文件失败异常。
try: fh = open("testfile", "w") fh.write("这是一个测试文件,用于测试异常!!") except IOError: print "Error: 没有找到文件或读取文件失败" else: print "内容写入文件成功" fh.close()
相当于java的try catch语句
异常的参数
# !/usr/bin/python # -*- coding: UTF-8 -*- # 定义函数 def temp_convert(var): try: return int(var) except ValueError, Argument: print "参数没有包含数字\n", Argument # 调用函数 temp_convert("xyz");
结果:
参数没有包含数字 invalid literal for int() with base 10: 'xyz'
触发异常
# !/usr/bin/python # -*- coding: UTF-8 -*- # 定义函数 def mye(level): if level < 1: raise Exception("Invalid level!", level) # 触发异常后,后面的代码就不会再执行 try: mye(0) # 触发异常 level = 0 因为小于0 ,上面出发了异常 except "Invalid level!": print 1 else: print 2
结果:
Traceback (most recent call last): File "D:/python_study/six.py", line 36, in <module> mye(0) # 触发异常 level = 0 因为小于0 ,上面出发了异常 File "D:/python_study/six.py", line 34, in mye raise Exception("Invalid level!", level) # 触发异常后,后面的代码就不会再执行 Exception: ('Invalid level!', 0)