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()で発生しました |