理論准備
★ 異常捕獲
△ 異常:當JavaScript引擎執行JavaScript代碼時,發生了錯誤,導致程序停止運行;
△ 異常拋出:當異常產生,並且這個異常生成一個錯誤信息;
△ 異常捕獲:
try{
(測試)發生異常的代碼塊;
}catch(err){//捕獲異常信息err
對錯誤信息處理;
}
△
throw
語句:通過throw語句創建一個自定義錯誤提示信息;
示例1 輸出一個未定義的變量
/*實現方法一*/
/*function ExceptionCapture() {
try {
alert(str); //測試一個未經定義的變量str
} catch (err) {
alert(err);
}
}
ExceptionCapture(); //調用函數*/
/*實現方法二*/
(function ExceptionCapture(){
try{
alert(str);//測試一個未經定義的變量str
}catch(err){
alert(err);
}
}());//函數的自我調用
示例2 測試輸入框
<h2>JS中的異常捕獲</h2>
<hr/>
<mark>確保輸入框內有內容,否則提交會彈出提示窗口</mark>
<br/>
<input type="text" id="txt">
<button onclick="demo()">Submit</button>
<script>
function vertifyData(){
var a = document.getElementById("txt").value;
if(a ==""){
alert("Please input something\n來自調用函數");
/*利用\n實現彈窗提示內容換行*/
}
}
function demo(){
try{
vertifyData();
throw"你為輸入內容\n來自throw的自定義信息";
}catch(err){
alert(err);
}
}
☢注意點
try語句塊中的代碼無論是否有錯誤都會執行,而catch中的代碼塊則只會在有錯誤時才會觸發;
========================================================