2016 - 2024

感恩一路有你

js抛出异常 捕获全局异常怎么处理?

浏览量:1967 时间:2021-03-11 02:38:01 作者:admin

捕获全局异常怎么处理?

将可能引发异常的代码段放在try块中,将处理异常的代码放在catch块中。catch语句的顺序很重要。当异常发生时,它向上传递堆栈,每个catch块都有机会处理它。通过将异常类型与catch块中指定的异常名称相匹配,可以确定处理异常的catch块。例如,下面的catch块将捕获简单对象访问协议(soap)异常:

catch(soapexception){控制台写入线(“SOAPExceptionErrorCode:{0}”,

e。子代码.代码.名称)

控制台写入线(“soapexceptionmessages:{0}”,

e.Message)}CatcheAsSoapException控制台写入线(“SOAPExceptionErrorCode:{0}”,例如。子代码.代码.名称)

控制台写入线(“Soapexceptionmessage is:{0}”,e.message)endtry如果没有特定类型的catch块,则可能的常规catch块将捕获异常。例如,您可以通过添加以下代码来捕获常规异常:

catch(exception){控制台写入线(“ExceptionMessage:{0}”,e.Message)}捕获异常控制台写入线(“exceptionmessage:{0}”,e.message)endtry将特定类型异常的catch块放在常规异常之前。

公共语言运行库将捕获catch块未捕获的异常。根据运行时的配置,可以显示调试对话框,或者可以停止程序的执行,并且可以显示包含异常信息的对话框。

如何优雅处理前端异常?

随着业界对用户体验的重视,前端异常处理也得到了重视。像过去一样,很少有网站关心你的前端是否会异常,但是现在更大的网站会收集前端异常,然后向服务器报告。

。让我们逐一看看。

1. 异常捕获

每个主流开发语言都使用try。。。抓住。。。捕捉异常。当然,前端JavaScript也不例外。最简单的代码如下:

try{…}catch(E){控制台.log(e)

]尽管我们可以尝试。。。抓住。。。对于异常的处理,也存在一个问题:代码会变得越来越复杂和臃肿,这种方法只适用于片段代码的异常捕获,全局异常捕获非常麻烦。

所以有更好的方法。

window.oner错误它不仅提供了错误代码的行号,还提供了错误借用信息,对我们准确定位异常非常有帮助。

2. 异常报告

当我们捕获前端异常时,我们需要将异常报告给后端服务器。我们通常通过Ajax提交。为了降低后端压力,我们建议如果前端异常类似,只报告一次。

经过以上处理,当当前端出现异常时,我们可以实时通知程序员进行检查和修复。

小程序丨怎么在index.js中获取app.js中的全局变量?

您可以将全局变量放入应用程序.js在的GlobalData对象中:GlobalData:{A:“ABC”,B:123}索引.js或其他页面app.globalData.aapp应用程序.全球数据.b

js抛出异常 js抛出异常throw 使用第三方ip获取是跨域问题

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。