JavaScript 的 throw 語句用于在代碼中拋出一個異常,在程序運行時中斷代碼執行并拋出自定義的異常信息。與其他語言類似,使用 throw 接口可以使代碼更加靈活、易于維護。下面我們就通過舉例來詳細介紹 JavaScript 中的 throw。
首先,我們來看一個簡單的例子,假設我們要判斷一個數值是否為正數,如果不是,則輸出錯誤提示信息。代碼如下:
function checkPositive(number) { if (number < 0) { throw "Number is not positive" } }
當我們調用該函數并傳入一個負數時,程序就會拋出自定義的異常信息。如下所示:
checkPositive(-1); // Uncaught Number is not positive
通過使用 throw 語句,我們可以在函數內部自定義異常信息,從而使代碼更具可讀性。
除了手動拋出異常,JavaScript 中也有許多內置的方法,可以自動拋出異常。例如,在使用 JSON.parse() 函數進行 JSON 解析時,如果傳入的字符串不是有效的 JSON 字符串,則會拋出一個異常。代碼如下所示:
var invalidJson = "{ 'name': 'John', 'age': 30 }"; try { JSON.parse(invalidJson); } catch (error) { console.log(error); // Uncaught SyntaxError: Unexpected token ' in JSON at position 2 }
通過使用 try...catch 語句,我們可以捕獲到異常并進行處理。
還有一種常見的情況是,當一個函數需要接收一個特定類型的參數時,如果傳入了錯誤類型的參數,則可以使用 throw 語句來拋出異常。例如:
function greet(name) { if (typeof name !== 'string') { throw new Error("Name must be a string"); } console.log("Hello, " + name + "!"); } greet("Alice"); // Hello, Alice! greet(123); // Uncaught Error: Name must be a string
在上面的例子中,我們判斷了傳入的參數是否為字符串類型,如果不是則拋出異常。這種使用方式可以幫助我們更好地控制程序的流程。
最后,我們提醒大家,在使用 throw 語句時一定要注意異常處理,否則可能會導致程序崩潰。因此,我們建議在使用 throw 時,都使用 try...catch 語句進行異常處理。