14

Debugging JavaScript:throw与console

 3 years ago
source link: https://blogread.cn/it/article/1313?f=hot1
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Debugging JavaScript:throw与console

浏览:1791次  出处信息

我想没多少人敢保证写JavaScript能不用调试,那选择用什么方式调试会比较好呢?

  • 告别了我最爱的alert("MM")
  • 告别了我最爱的document.title="MM"
  • 告别了我最爱的window.status="MM"

大家开始用各种新的方式来看调试信息。。。比如最近sitepoint就发了一篇Debugging JavaScript: Throw Away Your Alerts!,大家先去看,看完再回来接着看。

var err = new Error(); 
err.name = 'My API Input Error'; 
err.message = 'Input must be a number'; 
throw(err);

throw虽然不错,但是我们调试时可能不只能抛错,还可能抛很多奇怪的信息,比如把执行时间、返回结果打出来看,当然,你也可以写不同的err.name来区分。但是,有事没事看到报错也是很不爽的一件事。

写JavaScript的同学应该都有装Firebug,如果没装赶快装去,装完了再回来看,要是连Firefox都没有就玩Firebug Lite

Firebug提供有了个console,你可以用:console.log(object[, object, ...])和若干console.xxx来玩,这样就可以把错误跟警告区分开了,挖哈哈。

同时,console并不是Firebug独有的,你也可以用console.log('嗷嗷又出来忽悠人了!');把信息打到Safari的错误控制台,还可以这样玩:

  • console.warn('这个图标很黄');
  • console.error('×的图标不好看');

Opera也有个错误控制台,可惜不能用console.log来显示东东,不过也有打印的接口: opera.postError,但它打出的的图标却不是错误的图标,它的真名应该叫postWarn,throw打出来的图标才是错误的图标,它才是真正的postError,算了,凑和着用吧。如果在Opera下做开发推荐使用Opera Dragonfly

还有IE呢?嗯,介于我的系统没有IE,飘过。挖哈哈。

其实大家可以自己写个Console,除了可以把东东打印到浏览器的错误控制台上,还可以把信息打印到服务器上,在自己调试环境下没问题不代表在任何情况下都会没问题。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK