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

网站建设策划内容地方网站做的好的

网站建设策划内容,地方网站做的好的,外贸流程全步骤流程图,制作自己的网站教程异常对象提供了一个 with_traceback 用于处理异常的传播轨迹#xff0c;查看异常的传播轨迹可追踪异常触发的源头#xff0c;也可看到异常一路触发的轨迹。 下面示例显示了如何显示异常传播轨迹#xff1a; class SelfException(Exception): passdef main():firstMethod() … 异常对象提供了一个 with_traceback 用于处理异常的传播轨迹查看异常的传播轨迹可追踪异常触发的源头也可看到异常一路触发的轨迹。 下面示例显示了如何显示异常传播轨迹 class SelfException(Exception): passdef main():firstMethod() def firstMethod():secondMethod() def secondMethod():thirdMethod() def thirdMethod():raise SelfException(自定义异常信息) main() 上面程序中 main() 函数调用 firstMethod()firstMethod() 调用 secondMethod()secondMethod() 调用 thirdMethod()thirdMethod() 直接引发一个 SelfException 异常。运行上面程序将会看到如图所示的结果 从图中可以看出异常从 thirdMethod() 函数开始触发传到 secondMethod() 函数再传到 firstMethod() 函数最后传到 main() 函数在 main() 函数止这个过程就是 Python 的异常传播轨迹。 在实际应用程序的开发中大多数复杂操作都会被分解成一系列函数或方法调用。这是因为为了具有更好的可重用性会将每个可重用的代码单元定义成函数或方法将复杂任务逐渐分解为更易管理的小型子任务。由于一个大的业务功能需要由多个函数或方法来共同实现在最终编程模型中很多对象将通过一系列函数或方法调用来实现通信执行任务。 所以当应用程序运行时经常会发生一系列函数或方法调用从而形成“函数调用战”。异常的传播则相反只要异常没有被完全捕获包括异常没有被捕获或者异常被处理后重新引发了新异常异常就从发生异常的函数或方法逐渐向外传播首先传给该函数或方法的调用者该函数或方法的调用者再传给其调用者直至最后传到 Python 解释器此时 Python 解释器会中止该程序并打印异常的传播轨迹信息。 很多初学者一看到图 1 所示的异常提示信息就会惊慌失措他们以为程序出现了很多严重的错误其实只有一个错误系统提示那么多行信息只不过是显示异常依次触发的轨迹。 其实图 所示的异常传播轨迹信息非常清晰它记录了应用程序中执行停止的各个点。最后一行信息详细显示了异常的类型和异常的详细消息。从这一行向上逐个记录了异常发生源头、异常依次传播所经过的轨迹并标明异常发生在哪个文件、哪一行、哪个函数处。 Python 专门提供了 traceback 模块来处理异常传播轨迹使用 traceback 可以方便地处理 Python 的异常传播轨迹。导入 traceback 模块之后traceback 提供了如下两个常用方法 traceback.print_exc()将异常传播轨迹信息输出到控制台或指定文件中。 format_exc()将异常传播轨迹信息转换成字符串。 可能有读者感到好奇从上面方法看不出它们到底处理哪个异常的传播轨迹信息。实际上我们常用的 print_exc() 是 print_exc([limit[, file]]) 省略了 limit、file 两个参数的形式。而 print_exc([limit[, file]]) 的完整形式是 print_exception(etype, value, tb[,limit[, file]])在完整形式中前面三个参数用于分别指定异常的如下信息 etype指定异常类型 value指定异常值 tb指定异常的traceback 信息 当程序处于 except 块中时该 except 块所捕获的异常信息可通过 sys 对象来获取其中 sys.exc_type、sys.exc_value、sys.exc_traceback 就代表当前 except 块内的异常类型、异常值和异常传播轨迹。 简单来说 print_exc([limit[, file]]) 相当于如下形式 print_exception(sys.exc_etype, sys.exc_value, sys.exc_tb[, limit[, file]]) 也就是说使用 print_exc([limit[, file]]) 会自动处理当前 except 块所捕获的异常。该方法还涉及两个参数 limit用于限制显示异常传播的层数比如函数 A 调用函数 B函数 B 发生了异常如果指定 limit1则只显示函数 A 里面发生的异常。如果不设置 limit 参数则默认全部显示。 file指定将异常传播轨迹信息输出到指定文件中。如果不指定该参数则默认输出到控制台。 借助于 traceback 模块的帮助我们可以使用 except 块捕获异常并在其中打印异常传播信息包括把它输出到文件中。例如如下程序 # 导入trackback模块 import traceback class SelfException(Exception): passdef main():firstMethod() def firstMethod():secondMethod() def secondMethod():thirdMethod() def thirdMethod():raise SelfException(自定义异常信息) try:main() except:# 捕捉异常并将异常传播信息输出控制台traceback.print_exc()# 捕捉异常并将异常传播信息输出指定文件中traceback.print_exc(fileopen(log.txt, a)) 上面程序第一行先导入了 traceback 模块接下来程序使用 except 捕获程序的异常并使用 traceback 的 print_exc() 方法输出异常传播信息分别将它输出到控制台和指定文件中。 运行上面程序同样可以看到在控制台输出异常传播信息而且在程序目录下生成了一个 log.txt 文件该文件中同样记录了异常传播信息。
http://www.hkea.cn/news/14453365/

相关文章:

  • 专门做门业的网站潮州东莞网站建设
  • 福建省网站备案用户注销(删除)备案申请表ui设计需要学编程吗
  • 农村社区网站建设138ip域名查询网
  • 网站制作大概费用网站售后服务模板
  • 东莞建站模板网站开发第几类商标
  • 网站设计就业培训广告片拍摄的具体流程
  • 内蒙古建设厅官方网站网站的建设怎么弄
  • 网站建设华威公司怎么样宁波seo咨询
  • 岳阳公司网站建设做装修业务呢有多少网站
  • 人力资源公司网站模板下载网站后端用什么软件做
  • 周口市建设职工培训中心网站东莞厚街国际大酒店
  • 网站建设及第三方支付网站建设网上书店
  • wordpress拖拽式建站主题全国网页设计公司
  • 巩义便宜网站建设价格wordpress仿站方法
  • 马鞍山网站建设 明达怎么管理网站的内容吗
  • 南通网站seo公众号商城开发需要多少钱
  • 淮安住房与城乡建设部网站南通做外贸的公司网站
  • 商机互联做网站怎么样设计网站用什么软件
  • 桂阳县网站建设公司哪家好谷歌英文网站
  • 品牌网站建设市场wordpress 显示文章列表
  • 物流公司做网站哪家好长沙官网网站推广优化
  • 页面设计素材网站用jsp做网站主界面
  • 建设淘宝客网站有什么做美食的视频网站
  • 城镇建设周刊网站odoo 网站开发
  • 深圳市住房和建设局网站怎么打不开了天津项目网站建设
  • 别人网站 自己的二级域名天津建设工程信息网欧美小镇农贸市场
  • 移动微网站开发淄博网站建设 leda.cc
  • 广州企业网站开发汕头网络营销公司
  • 网站是什么时候出现的推广公司游戏
  • 做网站为什么选择竞网智赢建设网站 证件