【技术实现步骤摘要】
一种检测代码异常的方法和装置
[0001]本专利技术涉及数据处理
,特别是涉及一种检测代码异常的方法和一种检测代码异常的装置。
技术介绍
[0002]对于许多前端开发者而言,在编码时并不会注重脚本执行过程中的异常捕获,因此在页面出现问题时,很难定位异常出现的位置。开发者们常用的是使用console.log()这种比较基础的调试方式逐个位置打印日志从而判断问题所在,或通过windows监听全局代码的执行过程,从而捕获异常状态。
[0003]通过上述方式虽然能够捕获异常状态的信息,但是上述方式只能捕获同步代码的异常代码,而无法捕获异步代码的异常状态。然而,随着ES6标准的广泛使用,async/await异步语法得到了前端开发者的青睐。其使书写异步代码变得像书写同步代码那样方便,消除了由于多层嵌套而引发地狱回调问题,使整体代码的可阅读性和可维护性变得更强。虽然async/await能将异步代码写成同步代码的形式,但其本质上依旧是异步代码,因此仍然无法通过window.onerror事件捕获异常信息。可见,对于当前异步 ...
【技术保护点】
【技术特征摘要】
1.一种检测代码异常的方法,其特征在于,包括:获取项目文件的初始源代码;识别所述初始源代码中的初始异步代码块;为所述初始异步代码块添加异常捕获代码,生成目标异步代码块,所述异常捕捉代码用于捕获所述项目文件运行过程中的异常状态;将所述目标异步代码块替换所述初始源代码中的初始异步代码块,生成目标源代码。2.根据权利要求1所述的方法,其特征在于,还包括:根据所述异常捕获代码对所述目标源代码运行过程中出现的异常状态进行定位,生成与所述异常状态匹配的异常结果。3.根据权利要求1所述的方法,其特征在于,所述识别所述初始源代码中的初始异步代码块,包括:对所述初始源代码进行分词,获得两个以上的Token对象;遍历每个所述Token对象,基于抽象语法树对每个所述Token对象进行解析,得到初始异步代码块。4.根据权利要求3所述的方法,其特征在于,所述遍历每个所述Token对象,基于抽象语法树对每个所述Token对象进行解析,得到初始异步代码块,包括:遍历每个所述Token对象,基于抽象语法树对每个所述Token对象进行解析,提取包含异步函数的代码作为初始异步代码块。5.根据权利要求1
‑
4任一项所述的方法,其特征在于,所述异常捕获代码包含针对所述初始异步代码块的开发信息。6.根据权利要求5所述的方法,其特征在于,...
【专利技术属性】
技术研发人员:杨泽伟,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。