首页 > web前端 > js教程 > 正文

JS中的异常处理方法分享_javascript技巧

WBOY
发布: 2016-05-16 17:07:53
原创
1622 人浏览过

js容错语句,就是js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要不用户体验不好)

复制代码 代码如下:

window.onerror=function(){return true;}



下面是为了获取js异常信息,方便开发者找回问题

1,try...catch...

复制代码 代码如下:


2 ,throw

复制代码 代码如下:


3,onerror:

复制代码 代码如下:




js中的异常处理

在JavaScript可以使用try...catch来进行异常处理。例如:  

try { foo.bar();} catch (e) { alert(e.name ": " e.message);}
目前我们可能得到的系统异常主要包含以下6种:

EvalError: raised when an error occurs executing code in eval() 
RangeError: raised when a numeric variable or parameter is outside of its valid range 
ReferenceError: raised when de-referencing an invalid reference 
SyntaxError: raised when a syntax error occurs while parsing code in eval() 
TypeError: raised when a variable or parameter is not a valid type 
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters 
上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法:

new Error();new Error("异常信息");
手工抛出异常的方法如下:

复制代码 代码如下:

try {
throw new Error("Whoops!");}
catch (e) {
alert(e.name ": " e.message);}

如要判断异常信息的类型,可在catch中进行判断:



复制代码 代码如下:

try {
foo.bar();
} catch (e) {
if (e instanceof EvalError) { 
alert(e.name ":" e.message);
}  else if (e instanceof RangeError) {
alert(e.name ": " e.message); } 
// etc
}

エラーには次の主なプロパティがあります:

description: エラーの説明 (IE でのみ使用可能)。
fileName: エラーのファイル名 (Mozilla でのみ使用可能)。
lineNumber: エラーの行番号 (Mozilla でのみ使用可能)。メッセージ (IE でも同じ説明)
名前: エラーの種類。
番号: エラー コード (IE でのみ利用可能)。
スタック: Java のスタック トレースのようなエラー スタック情報 (Mozilla でのみ利用可能)。 🎜>エラー メッセージをよりよく理解するために、catch 部分を次の形式に変更できます:


try {
foo.bar( );
} catch(e) {
if (browserType != BROWSER_IE) {
alert("name: " e.name "message: " e.message "lineNumber: " e.lineNumber "fileName : " e .fileName "stack: " e.stack);
} else {
alert("name: " e.name "errorNumber: " (e.number & 0xFFFF) "message: " e.message "); } } "


JavaScript の throw コマンドは実際に任意のオブジェクトをスローでき、このオブジェクトを catch で受け取ることができます。例:

try {
throw new Date( ); // 現在の時刻オブジェクトをスローします} catch (e) { alter(e.toLocaleString()) // ローカル形式を使用して現在の時刻を表示します
}


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!