JavaScriptのDefinitive Guideの第17章エラー例外処理

関数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エラーは、サーバーに記録されます

  

おすすめ

転載: www.cnblogs.com/ms_senda/p/11518035.html