捕获异常
–捕获错误代码后 后面的代码依然执行
try:
fh = open("testfile", "w")
fh.write("这是一个测试文件,用于测试异常!!")
except IOError:
print "Error: 没有找到文件或读取文件失败"
else:
print "内容写入文件成功"
fh.close()
try:
#正常的操作
#......................
except:
#发生异常,执行这块代码
#......................
else:
#如果没有异常执行这块代码
#
raise
可以使用raise语句自己触发异常
def functionName( level ):
if level < 1:
raise Exception("Invalid level!", level)
# 触发异常后,后面的代码就不会再执行
#
sys.exc_info() 打印异常信息
except:
exc = sys.exc_info() #元组
print exc
logging.error(exc[1])
import logging
except:
exc = sys.exc_info() #元组
logging.error(exc[1])
日志文件记录
import logging
logger = logging.getLogger()
#logfile = 'test.log'
hdlr = logging.FileHandler('/tmp/sendlog.txt')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.NOTSET)
使用
logger.debug(“测试”)
logger.error(“测试”)
捕获错误代码后 后面的代码依然执行
try:
fh = open("testfile", "w")
fh.write("这是一个测试文件,用于测试异常!!")
except IOError:
print "Error: 没有找到文件或读取文件失败"
else:
print "内容写入文件成功" #---如果没有异常执行这块代码
fh.close()
手动抛出异常:
可以使用raise语句自己触发异常
def functionName( level ):
if level < 1:
raise Exception("Invalid level!", level)
# 触发异常后,后面的代码就不会再执行
打印异常信息
except:
exc = sys.exc_info() #元组
print exc