JavaScriptのエラー例外

JavaScriptのエラー例外

エラー例外条項

  • try文はコードブロックのエラーをテスト
  • キャッチステートメントがエラーを処理します
  • スローステートメントは、カスタムエラーを可能に
  • 最終的にはエラー例外文の後のコードブロックは、実行する必要があります
try {
    adddlert("Hello") ;
} catch (err) {
    document.getElementById("demo").innerHTML = err.message ;
}
// 结果 : adddlert is not defined

JavaScriptの例外adddlertはエラーとしてキャプチャし、エラーを実行するcatchブロックを実行します。

... catch文を試してみてください

try {
    需要检测的代码块;
} catch {
    处理 try 检测到错误的代码块;
}

例外を投げます

エラーを送信すると、JavaScriptは通常、例外と例外エラーメッセージをスロー(スロー)

JavaScriptは、実際には二つのプロパティを持つErrorオブジェクトを作成することができます。名前とメッセージを

文を投げます

  • スロー:あなたはカスタムエラーを作成することができます
throw "To Bug" ;
throw 500 ;

場合はスローTyrの ... キャッチの組み合わせでは、プログラムの流れを制御し、カスタムエラーメッセージを生成します。

入力検証の例

<!DOCTYPE html>
<html>
<head>
    <meta charset = "utf-8">
    <title> javascript </title>
</head>
<body>
    <div>
        <input id="demo" type = "text">
        <button type = "button" onclick = myFunction() >
            测试
        </button>
    </div>
    <div>
        <p id = "message"></p>
    </div>
    <script>
        function myFunction() {
            var message , x ; 
            message = document.getElementById("message") ;
            message.innerHTML = "" ; 
            x = document.getElementById("demo").value ; 
            try {
                if ( x == ""){
                    throw "Null" ;
                }
                if (isNaN(x)){
                    throw "No is Number" ;
                }
                if (x < 5){
                    throw "小" ;
                }
                if (x > 10){
                    throw "大" ;
                }
            } catch (error) {
                message.innerHTML = "输入值:" + error ; 
            }
        }
    </script>
</body>
</html>

入力内容符号誤り検出異常、およびスロー例外カスタムエラーメッセージを使用します

  • HTMLの検証
<input id = "demo" type = "number" min = "5" max = "10" step = "1" >

finally文

  • 最後に:許可コードブロックは、try後に実行する必要があります
try {
    try检测代码块;
} catch(error) {
    处理错误的代码块;
} finally {
    必须要执行的代码块;
}
<!DOCTYPE html>
<html>
<head>
    <meta charset = "utf-8">
    <title> javascript </title>
</head>
<body>
    <div>
        <input id="demo" type = "text">
        <button type = "button" onclick = myFunction() >
            测试
        </button>
    </div>
    <div>
        <p id = "message"></p>
    </div>
    <script>
        function myFunction() {
            var message , x ; 
            message = document.getElementById("message") ;
            message.innerHTML = "" ; 
            x = document.getElementById("demo").value ; 
            try {
                if ( x == ""){
                    throw "Null" ;
                }
                if (isNaN(x)){
                    throw "No is Number" ;
                }
                if (x < 5){
                    throw "小" ;
                }
                if (x > 10){
                    throw "大" ;
                }
            } catch (error) {
                message.innerHTML = "输入值:" + error ; 
            } finally {
                document.getElementById("demo").value = "" ;
            }
        }
    </script>
</body>
</html>

基礎としてこれを入力する例として、38行で39に添加しなかった最終的には、ステートメントの無許可の方法を試してください... catch文の結果を

Errorオブジェクト

  • JavaScriptが組み込まれているエラーオブジェクト

Errorオブジェクトのプロパティ

プロパティ 説明
設定または間違った名前を返します。
メッセージ エラーメッセージ(文字列)を設定または返し

エラー名の値

  • エラー名は、6つの異なる値を返すために、属性
エラー値 説明
EvalError エラーはevalの()関数で発生しました
例外RangeError エラー番号の範囲を超えて
ReferenceError 不正な参照エラーが発生しました
構文エラー 構文エラーが発生しました
例外TypeError エラーの種類が発生しました
URIError エラーでencodeURI()で発生しました

おすすめ

転載: www.cnblogs.com/wangyuyang1016/p/11079370.html