JavaScript try/catch/finally 語句
在下面的例子中,我們故意在 try 塊的程式碼中寫了一個錯字。
該例項本應該提醒”歡迎光臨!”,但彈出的是拼寫錯誤資訊。
catch 塊會捕捉到 try 塊中的錯誤,並執行程式碼來處理它:
try {
adddlert("歡迎光臨!");
}
catch(err) {
document.getElementById("demo").innerHTML = err.message;
}
定義和用法
try/catch/finally 語句用於處理程式碼中可能出現的錯誤資訊。
錯誤可能是語法錯誤,通常是程式設計師造成的編碼錯誤或錯別字。也 可能是拼寫錯誤或語言中缺少的功能(可能由於瀏覽器差異)。
- try語句允許我們定義在執行時進行錯誤測試的程式碼塊。
- catch 語句允許我們定義當 try 程式碼塊發生錯誤時,所執行的程式碼塊。
- finally 語句在 try 和 catch 之後無論有無異常都會執行。
- 注意: catch 和 finally 語句都是可選的,但你在使用 try 語句時必須至少使用一個。
- 提示: 當錯誤發生時, JavaScript 會停止執行,並生成一個錯誤資訊。使用
throw
語句來建立自定義訊息(丟擲異常)。如果你將throw
和try
、catch
一起使用,就可以控制程式輸出的錯誤資訊。
語法
try {
tryCode - 嘗試執行程式碼塊
}
catch(err) {
catchCode - 捕獲錯誤的程式碼塊
}
finally {
finallyCode - 無論 try / catch 結果如何都會執行的程式碼塊
}
引數值
引數 | 描述 |
---|---|
tryCode | 必須。檢查是否有錯誤的程式碼塊。 |
err | 必須(如果使用 catch)。指定區域性變數應用的錯誤。該變數可以引用 Error 物件 (包含發生的錯誤資訊,如 “‘addlert’ 沒有定義”)。如果異常通過 throw 語句建立 , 該 變數引用了為在throw語句中指定的物件 (檢視 “更多例項”) |
catchCode | 可選。如果 try 語句發生錯誤執行的程式碼塊。如果 try 語句沒發生錯誤該程式碼不會執行。 |
finallyCode | 可選。無論 try / catch 的結果如何都會執行。 |
更多例項
<p>請輸入 5 和 10 之間的一個數:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">檢測輸入</button>
<p id="message"></p>
<script>
function myFunction() {
var message, x;
message = document.getElementById("message");
message.innerHTML = "";
x = document.getElementById("demo").value;
try {
if(x == "") throw "為空";
if(isNaN(x)) throw "不是一個數字";
if(x > 10) throw "太大了";
if(x < 5) throw "太小了";
}
catch(err) {
message.innerHTML = "輸入的值 " + err;
}
}
</script>
finally 語句無論 try 和 catch 執行結果如何都會執行:
function myFunction() {
var message, x;
message = document.getElementById("message");
message.innerHTML = "";
x = document.getElementById("demo").value;
try {
if(x == "") throw "為空";
if(isNaN(x)) throw "不是一個數字";
if(x > 10) throw "太大";
if(x < 5) throw "太小";
}
catch(err) {
message.innerHTML = "輸入的值 " + err;
}
finally {
document.getElementById("demo").value = "";
}
}
相關文章
- JavaScript try catch finally 語句JavaScript
- try-catch-finally的使用
- Java try catch finally 總結Java
- try throw catch 語句檢測input值
- Will it finally: 關於 try/catch 的一些細節
- 【轉】java中異常與try catch finally詳解Java
- try-catch-finally,被你忽略掉的執行順序
- JAVA的異常處理機制(一)——try...catch...finallyJava
- try ,catch
- [Java基礎]try-catch-finally 和 return 的執行順序Java
- (轉)有return的情況下try catch finally的執行順
- 有return的情況下try catch finally的執行順序
- Laravel try catchLaravel
- JavaScript 中 try...catch 的 10 個使用技巧JavaScript
- try-except 語句
- 解決程式碼中重複的捕獲 promise 錯誤的 try catch 語句Promise
- 謹慎 try-finally
- Java趣味分享:try/finallyJava
- try/catch/finally:“前端的好厚米,我覺得你們不夠了解我呀~”前端
- python怎麼寫try語句Python
- js中try和catch的用法JS
- (十四).try-throw-catch機制
- try/catch 的解釋與用法
- finally語句塊的有限範圍(skycto JEEditor)
- python中try..except語句如何使用?Python
- python中try語句的工作過程Python
- JavaScript 語句JavaScript
- JavaScript for in 語句JavaScript
- IDEA 自動生成try,catch快捷鍵Idea
- Java中try()catch{}的使用方法Java
- JS 使用try catch捕獲異常JS
- Java之異常處理try{}catch(){}Java
- JavaScript return 語句JavaScript
- JavaScript while 語句JavaScriptWhile
- JavaScript switch語句JavaScript
- JavaScript if else 語句JavaScript
- JavaScript switch 語句JavaScript
- JavaScript with 語句用法JavaScript