throw語句拋出一個用戶定義的異常。
發(fā)生錯誤時,JavaScript通常會停止并生成錯誤消息。從技術上講,這稱為“ 拋出錯誤 ”。
throw語句使您可以創(chuàng)建自定義錯誤。從技術上講,這稱為“ 拋出異常 ”。
引發(fā)異常時,表達式(expression)指定異常的值。以下每個都會引發(fā)異常:
throw 'Invalid'; // 生成帶有字符串值的異常 throw 32; // 生成值為32的異常 throw true; //生成值為true的異常
如果將throw和try 和 catch一起使用,則可以控制程序流并生成自定義錯誤消息。
您可以在我們的JavaScript異常教程中了解有關異常的更多信息。
throw expression;
function getRectArea(width, height) { if (isNaN(width) || isNaN(height)) { throw "參數(shù)不是一個數(shù)字!"; } } try { getRectArea(5, 'Z'); } catch(err) { document.getElementById('para').innerHTML = err; }
所有瀏覽器完全支持throw語句:
Statement | ![]() | ![]() | ![]() | ![]() | ![]() |
throw | 是 | 是 | 是 | 是 | 是 |
參數(shù) | 描述 |
---|---|
expression | 拋出異常??梢允亲址?,數(shù)字,布爾值或?qū)ο?/td> |
JavaScript版本: | ECMAScript 3 |
---|
在此示例中,如果值錯誤,則引發(fā)異常(err)。catch語句捕獲異常(err),并顯示自定義錯誤消息:
var x = document.querySelector("input").value; try { if(x == "") throw "is Empty"; if(isNaN(x)) throw "不是一個數(shù)字"; if(x > 10) throw "太大"; if(x < 5)throw "太小"; } catch(err) { document.getElementById("para").innerHTML = "Input " + err; }測試看看?/?
JavaScript教程:JavaScript 異常
JavaScript參考:JavaScript try ... catch語句