当前位置: 首页 > news >正文

建设工程检测预约网站网校平台搭建

建设工程检测预约网站,网校平台搭建,网络服务器搭建与管理,网站开发公司怎么接单子目录 一、try except异常处理的语句格式 二、获取相关异常信息 (1)sys.exec_info() 三、traceback模块的常用方式 (1)traceback.print_tb(tb, limitNone, fileNone) 打印指定堆栈异常信息 (2)tracebac…

目录

一、try except异常处理的语句格式

二、获取相关异常信息

(1)sys.exec_info()

三、traceback模块的常用方式

(1)traceback.print_tb(tb, limit=None, file=None) 打印指定堆栈异常信息

 (2)traceback.print_exception(exc, /, [value, tb, ]limit=None, file=None, chain=True) 和 traceback.print_exc(limit=None, file=None, chain=True) 打印指定堆栈异常信息

 (3)traceback.format_list(extracted_list) 和 traceback.format_exception(exc, /, [value, tb, ]limit=None, chain=True)  返回可打印的错误信息字符串列表

 (4)和 traceback.format_exc(limit=None, chain=True)  返回错误信息字符串


一、try except异常处理的语句格式

try:可能产生异常的代码块
except [ (Error1, Error2, ... ) [as e] ]:处理异常的代码块1
except [ (Error3, Error4, ... ) [as e] ]:处理异常的代码块2
except  [Exception]:处理其它异常
finally:最后做其他事情,finally必定执行

二、获取相关异常信息

(1)sys.exec_info()

sys.exc_info() 该函数会返回一个元组(type(e), e, e.__traceback__)。该元组记录错误类型、错误信息、错误信息所在堆栈。如果没有异常发生,则会返回一个空的元组

示例:

import sys
import tracebackdef func(a: int, b: int):return a // bdef func1(a: int, b: int):try:return func(a, b)except Exception as e:errType, errInfo, errTraceBack = sys.exc_info()print(errType)         # <class 'ZeroDivisionError'>print(errInfo)         # integer division or modulo by zeroprint(errTraceBack)    # <traceback object at 0x000001FEF8C7BB80>if __name__ == "__main__":func1(1, 0)

三、traceback模块的常用方式

相关官方文档:traceback —— 打印或读取堆栈的跟踪信息 — Python 3.11.2 文档

(1)traceback.print_tb(tblimit=Nonefile=None) 打印指定堆栈异常信息

  • traceback.print_tb(tblimit=Nonefile=None) 其中tb指的是从sys.exc_info()获取的traceback堆栈类型,limit指的是报告错误的堆栈层数,file指的是输出到哪个文件流中,默认为stderr
import sys
import tracebackdef func(a: int, b: int):return a // bdef func1(a: int, b: int):try:return func(a, b)except Exception as e:errType, errInfo, errTraceBack = sys.exc_info()traceback.print_tb(errTraceBack) 
'''File "d:\Python WorkSpace\GameAssist\test2.py", line 10, in func1return func(a, b)File "d:\Python WorkSpace\GameAssist\test2.py", line 6, in funcreturn a // b
'''if __name__ == "__main__":func1(1, 0)

 (2)traceback.print_exception(exc/, [valuetb, ]limit=Nonefile=Nonechain=True) 和 traceback.print_exc(limit=Nonefile=Nonechain=True) 打印指定堆栈异常信息

  • traceback.print_exception(exc/, [valuetb, ]limit=Nonefile=Nonechain=True) 打印回溯对象 tb 到 file 的异常信息和整个堆栈回溯。
  • traceback.print_exc(limit=Nonefile=Nonechain=True) 相当于print_exception(*sys.exc_info(), limit, file, chain) 的简写
import sys
import tracebackdef func(a: int, b: int):return a // bdef func1(a: int, b: int):try:return func(a, b)except Exception as e:traceback.print_exception(e)traceback.print_exception(e, file=open("./ErrorLog.txt", "a+"))
'''
Traceback (most recent call last):File "d:\Python WorkSpace\GameAssist\test2.py", line 9, in func1return func(a, b)File "d:\Python WorkSpace\GameAssist\test2.py", line 5, in funcreturn a // b
ZeroDivisionError: integer division or modulo by zero
'''
if __name__ == "__main__":func1(1, 0)

 (3)traceback.format_list(extracted_list) 和 traceback.format_exception(exc/, [valuetb, ]limit=Nonechain=True)  返回可打印的错误信息字符串列表

  • traceback.format_list(extracted_list)给定一个由元组或如 extract_tb() 或 extract_stack() 所返回的 FrameSummary 对象组成的列表,返回一个可打印的字符串列表
import sys
import tracebackdef func(a: int, b: int):return a // bdef func1(a: int, b: int):try:return func(a, b)except Exception as e:errType, errInfo, errTraceBack = sys.exc_info()print(traceback.format_list(traceback.extract_tb(errTraceBack)))
'''
['  File "d:\\Python WorkSpace\\GameAssist\\test2.py", line 9, in func1\n    return func(a, b)\n', '  File "d:\\Python WorkSpace\\GameAssist\\test2.py", line 5, in func\n    return a // b\n']
'''if __name__ == "__main__":func1(1, 0)

  •  traceback.format_exception(exc/, [valuetb, ]limit=Nonechain=True)  格式化一个栈跟踪和异常信息。 参数的含义与传给 print_exception() 的相应参数相同。 返回值是一个字符串列表,每个字符串都以一个换行符结束且有些还包含内部换行符。
import sys
import tracebackdef func(a: int, b: int):return a // bdef func1(a: int, b: int):try:return func(a, b)except Exception as e:print(traceback.format_exception(e))'''
['Traceback (most recent call last):\n', '  File "d:\\Python WorkSpace\\GameAssist\\test2.py", line 9, in func1\n    return func(a, b)\n', '  File "d:\\Python WorkSpace\\GameAssist\\test2.py", line 5, in func\n    return a // b\n', 'ZeroDivisionError: integer division or modulo by zero\n']
'''if __name__ == "__main__":func1(1, 0)

 (4)和 traceback.format_exc(limit=Nonechain=True)  返回错误信息字符串

  • traceback.format_exc(limit=Nonechain=True) 这类似于 print_exc(limit) 但会返回一个字符串而不是打印到一个文件
import sys
import tracebackdef func(a: int, b: int):return a // bdef func1(a: int, b: int):try:return func(a, b)except Exception as e:print(traceback.format_exc())'''
Traceback (most recent call last):File "d:\Python WorkSpace\GameAssist\test2.py", line 9, in func1return func(a, b)File "d:\Python WorkSpace\GameAssist\test2.py", line 5, in funcreturn a // b
ZeroDivisionError: integer division or modulo by zero
'''if __name__ == "__main__":func1(1, 0)

http://www.yayakq.cn/news/505274/

相关文章:

  • 如何让网站被百度快速收录仿站网
  • 仿淘宝网站源码 php易语言怎么做网站自动登录
  • 男女做污的事情网站视频做任务领q币网站
  • 网站开发合同售后服务做阅读任务挣钱的网站
  • 东莞建站怎么做wordpress app模板下载
  • 陕西省泰烜建设集团有限公司网站万网域名注册后怎么样做网站
  • 做网站机构图用什么工具数据中台是什么意思
  • 大网站名城苏州
  • 网站建设 验收意见思途旅游网站建设系统
  • 超值的镇江网站建设给企业做网站的公司
  • 广东制作公司网站广东省自然资源厅网站
  • 预约网站模板wordpress布置网站教程
  • 化妆品网站网页设计卓商网站建设
  • 网站域名必须备案吗哪个网站是tv域名
  • 网站建设新发展建筑网站源码
  • 企业网站建设程序湖南seo技术培训
  • 兰州怎么提高网站的排名丹东网站开发
  • 在萍乡谁可以做网站信息服务平台怎么赚钱
  • 何使网站的页面结构更为合理建北京软件开发平均工资
  • 适合前端新手做的网站双栏wordpress
  • 免费的网站入口在哪师范街网站建设
  • 找网络公司建网站每年收维护费网站开发语言什么好
  • 外贸简单网站建设wordpress 主题备份
  • dede网站图标wordpress首页加注册
  • 宁波做网站的公司哪家好wordpress前台发布文章
  • 汕头网站推广费用上传网站安装教程视频
  • 新网站怎么做排名网站编辑 图片批量
  • 重庆品牌型网站建设做外贸卖小商品是哪个网站
  • 平价建网站格了解当前各类网站建设价格
  • 药品网站订单源码平顶山住房和城乡建设局网站