扩展javascriptCore的功能

来源:互联网 发布:编程中debug是什么意思 编辑:程序博客网 时间:2024/06/06 08:32

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退出,让它继续执行,就可以了,

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

 

 

原创粉丝点击