扩展javascriptCore的功能

本文介绍了WebKit中的JavaScript解析器SquirrelFish,并讨论了如何在JS解析失败时提供详细的错误信息,以及如何使未被捕获的错误不影响JS的继续执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javascriptCore是webkit原生的js解析器,2008年被重写改名为SquirrelFish,可以参考

http://www.webkit.org/blog/189/announcing-squirrelfish/

 

其实现的是ECMAScript edition 3,可以参考

http://en.wikipedia.org/wiki/ECMAScript

 

要做的扩展是:

1。在js解析失败时,打印出url、行号和失败原因,以便查找原因。

2。在js运行时,如果出现错误,在没有被catch的情况下,可以被忽略,让js继续执行。

 

 

实现:

1。只要js有错误,就会生成一个Error类,打印可以在这里加,所需要的信息都会有

2。js运行有两种方式,一种是VM,一种是JIT

      但是无论那种js执行时,如果有错误,都会调用到一个throw错误处理,

      这里首先去找js有没有写catch,如果没有就退出执行,

      这时可以不让js退出,让它继续执行,就可以了,

      但是要注意,这时错误语句返回的变量还没有初始化

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值