Python异常处理与程序调试
Python异常处理与程序调试Python提供了强大的异常处理机制,通过捕获异常可以提高程序的健壮性。异常处理还具有释放对象,中止循环的运行等作用。在程序运行的过程中,如果发生了错误,可以返回事先约定的一个错误代码。 "try...except"语句用于处理问题语句,捕获可能存在的异常。try子句的代码块中放置的可能出现异常的语句,except子句中的代码用于处理异常。当异常出现时,Python会自动生成一个异常对象。 >>> try: ... f = open('test.txt','r') ... print("该文件是正常的") # 捕获IO异常 ... except IOError: ... print("该文件不存在") # 其他异常情况 ... except: ... print('程序异常') ... else: ... print('文件打开成功') f.close() 该文件不存在 >>>
try: f = open('test.txt','r') try: print(f.read()) except: print('该文件是正常的') finally: print('释放资源') f.close() except IOError: print('文件不存在') with...as
with open('test.txt','r') as f: f.write('hrllo ') f.write('world ')
raise当程序出现错误时,Python会自动引发异常,也可以通过 try: s = None if s is None: print('s是空对象') raise NameError print(len(s)) except TypeError: print('空对象是没有长度的') s是空对象 Traceback (most recent call last): File "异常处理.py",line 21,in <module> raise NameError NameError Python程序调试一般用到的程序调试方法
断言(assert)方法,用于检测某个表达式是否为真 >>> assert 1 == 0,'1 不等于 0' # '1 不等于 0' 是为断言语句加的异常参数 Traceback (most recent call last): File "<stdin>",line 1,in <module> AssertionError: 1 不等于 0 >>> logging模块 如果Python程序代码量到了一定数量,使用logging模块是一个很好的选择,logging不仅可以输出到控制台,还可以写入文件,还可以使用TCP将日志发送到网络。 import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message') # 输出结果: WARNING:root:warning message ERROR:root:error message CRITICAL:root:critical message 默认情况下,logging模块将日志打印到屏幕(stdout),日志级别为WARNING(只有日志级别高于WARNING的日志才会输出) pdb Python的调试器,可以让程序单步执行,随时查看程序运行状态 执行 "l"表示查看代码完整内容,"n"表示一步一步执行代码,"p+变量名"可以随时打印出程序的变量名,"q"退出 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |