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
- Java try catch finallyJava
- Java try catch finally 總結Java
- try throw catch 語句檢測input值
- Will it finally: 關於 try/catch 的一些細節
- 【轉】java中異常與try catch finally詳解Java
- Java中的try、catch、finally塊簡單的解析Java
- c# 異常處理try catch finally_throwC#
- JavaScript錯誤_throw、try和catchJavaScript
- try-catch-finally,被你忽略掉的執行順序
- Java含有return 的try catch finally的執行順序Java
- C++異常處理:try,catch,throw,finally的用法C++
- c#之異常處理tcbs_try_catch_finallyC#
- 使用 TRY/CATCH 語句解決 SQL Server 2005 死鎖SQLServer
- JAVA的異常處理機制(一)——try...catch...finallyJava
- Laravel try catchLaravel
- js try catchJS
- 有return的情況下try catch finally的執行順序
- (轉)有return的情況下try catch finally的執行順
- 關於Java中try-catch-finally-return的執行順序Java
- [CareerCup] 14.2 Try-catch-finally Java中的異常處理Java
- [Java基礎]try-catch-finally 和 return 的執行順序Java
- C++及Windows異常處理(try,catch; __try,__finally; __try, __except)——一道筆試題引起的探究C++Windows筆試
- Effective C#:利用using和try/finally語句來清理資源C#
- iOS的@try、@catch()iOS
- JavaScript 中 try...catch 的 10 個使用技巧JavaScript
- Java的finally語句Java
- 解決程式碼中重複的捕獲 promise 錯誤的 try catch 語句Promise
- Java趣味分享:try/finallyJava
- try/catch/finally:“前端的好厚米,我覺得你們不夠了解我呀~”前端
- c++ try catch 問題C++
- (十四).try-throw-catch機制
- js中try和catch的用法JS
- 微軟:請不要使用 Try/Catch微軟
- java中try catch塊的使用Java
- 【C#之Try……Catch例項】C#
- python怎麼寫try語句Python
- 有return的情況下try catch finally的執行順序(最有說服力的總結)