関数TestTryCatch(){ しようと{ }キャッチ(エラー){ //エラー类型如下エラーEvalError例外RangeErrorにReferenceError //にSyntaxError例外TypeError URIError 場合(例外TypeError instanceofのエラー){ }他に(にReferenceError instanceofのエラー){場合 }他{ } } 最後に{ } } //17.2.2抛出错误 機能処理(値){ (!配列のinstanceof(値)){場合 、新しいエラースロー( 'プロセス()の引数は配列でなければなりません'); } values.sort()。 用(VAR I = 0、LEN = values.length; iは<LEN; iは++){ IF(値[I]> 100){ 戻り値[I]。 } } -1を返します。 } //自定义错误 関数CustomError(メッセージ) { this.name = 'CustomError'。 this.message =メッセージ。 } CustomError.prototype =新しいエラー()。 //17.2.3错误(エラー)事件 window.onerror =関数(メッセージ、URL、ライン){ 警告(メッセージ)。 falseを返します。 } //新しいCustomError( 'CustomError')を投げます。 VARイメージ=新しいイメージ(); image.addEventListener( '負荷'、関数(イベント){ アラート( 'イメージがロードされた'); }、偽)。 image.addEventListener( 'エラー'、関数(イベント){ アラート( 'laodedない画像'); }、偽)。 image.src = 'smilex.gif'; //17.2。 //わずか //17.2.5エラーの一般的なタイプの 関数連結(STR1、STR2、STR3){ VAR =結果+ STR1のSTR2; IF(typeof演算STR3 == '列'){ 結果+ = STR3; } リターン結果; } getQueryString機能(URL){ IF(URLは== typeofを'文字列'){ POS =( '?')url.indexOf VAR; IF(POS> -1){ url.substring返す(+ POS 1); } } } reverseSort関数(値){ (typeof演算values.sort == '関数')IF { values.sort(); values.reverse(); } } //17.2.6致命的なエラーと非致命的エラーを区別 //17.2.7エラーは、サーバーに記録されます