python中用来回溯异常的模块_Python回溯模块:获取异常信息

3

从图中可以看出,异常是从thirdmethod()函数触发的,传递给secondmethod()函数,然后传递到firstmethod()函数,最后传递到main()函数。在main()函数的末尾,这个过程是python异常传播路径。在实际应用程序开发中,大多数复杂操作被分解为一系列函数或方法调用。这是因为,为了具有更好的可重用性,每个可重用的代码单元都被定义为一个函数或方法,并且将复杂的任务逐步分解为更易于管理的小子任务。由于一个大的业务功能需要由多个函数或方法来实现,在最终的编程模型中,许多对象都会通过一系列函数或方法调用来通信和执行任务。因此,当应用程序运行时,往往会发生一系列的函数或方法调用,从而形成“函数调用战”。相反,只要异常没有被完全捕获(包括没有捕捉到异常,或者异常被处理后重新抛出),异常就会逐渐从发生异常的函数或方法传播到函数或方法的调用方,然后传播到调用方,最后到python解释器,在这种情况下python解释器将停止程序并打印异常的传播跟踪信息。许多初学者看到图1所示的异常提示信息时会惊慌失措。他们认为程序中有许多严重的错误。事实上,只有一个错误。系统提示这么多行信息,只是为了显示依次触发的异常轨迹。实际上,图中显示的异常传播跟踪信息非常清晰,它记录了应用程序中的执行停止点。最后一行详细说明了异常的类型和异常的详细信息。从这一行开始,它依次记录异常的来源、异常传播的轨迹,并指出异常发生在哪个文件、哪一行和哪个函数中。Python提供了回溯模块来处理异常传播跟踪。回溯可以方便地处理Python异常传播跟踪。导入回溯模块后,回溯提供以下两种常用方法:回溯.打印Exc():将异常传播跟踪信息输出到控制台或指定文件。format_Exc():将异常传播跟踪信息转换为字符串。一些读者可能会好奇,上面的方法看不到它们处理的异常传播跟踪信息。实际上,我们经常使用print_xc()是print_xc(limit,file)省略了limit和file的形式。而print_xexc(limit,file)的完整形式是print_uexception(etype,value,TB,limit,file),在full form中,前三个参数分别用于指定异常的以下信息:Etype:指定异常类型;Value:指定异常值;TB:指定异常的回溯信息;当程序在异常块中时,可以通过sys对象获取异常块捕获的异常信息,其中系统exc类型系统exc价值系统exc回溯表示当前异常块中异常的类型、值和跟踪。简而言之,print_xc(limit,file)相当于以下形式:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值