国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

JavaScript內置對象--Error類型詳解

2024-04-27 15:03:56
字體:
來源:轉載
供稿:網友

一、什么是錯誤處理?

在介紹Error對象之前,先說說什么是錯誤處理。錯誤,指程序中非正常運行狀態,在其他編程語言中稱為"異常"或"錯誤",解釋器會為每個錯誤情形創建并拋出一個Error對象,其中包含錯誤的描述信息。通過使用JS提供的異常錯誤語句,可以用結構化的方式來捕捉發生的錯誤,讓異常處理代碼與核心業務代碼實現分離,最終使我們能夠集中精力編寫主業務功能代碼。簡言之:在程序執行過程中,即使程序出錯,也能保證不會異常中斷的機制。

二、JS種的錯誤的類型(6種)

1.SyntaxError: 語法錯誤2.ReferenceError: 引用錯誤 要用的東西沒找到3.RangeError: 范圍錯誤  專指參數超范圍4.TypeError: 類型錯誤  錯誤的調用了對象的方法5.EvalError: eval()方法錯誤的使用6.URIError: url地址錯誤前4種是我們開發的時候經常遇到,需要熟練記住,后兩種比較少見,了解即可。三、Error對象Error:封裝錯誤信息的對象,在發生錯誤時,自動創建兩個屬性:err.name :錯誤的名稱/錯誤的類型err.message: 錯誤的提示信息如何使用:try{          可能出現錯誤的語句}catch(err){//err: 自動獲得錯誤對象——不可省略          一旦出錯,才執行的錯誤處理代碼: 提示錯誤, 記錄日志}finally{          無論是否出錯,都必須執行的代碼: 釋放資源}一段小例子:
		var num=parseFloat(PRompt("輸入數字"));  //請用戶輸入num		var d=prompt("輸入小數位數");    //請用戶輸入d		 try{		 	console.log(num.toFixed(d));		 }catch(err){		 //catch中的代碼只有出錯才執行,不出錯不執行		 //err: 自動獲得錯誤對象,包含錯誤信息		 	console.log(String(err));		 }finally{
		//無論是否出錯,都必須執行			console.log("釋放資源");			num=null; d=null;		}因為toFixed()方法的范圍是0~20,所以輸入-1的時候,在范圍之外,就會產生范圍錯誤RangeError, 如果不進行錯誤處理(try...catch...)的話就會報錯, 但是現在經過錯誤處理之后,程序正常執行,在控制臺輸出錯誤信息,并且無論正確或者錯誤都會執行的finally,釋放了資源

四、錯誤處理的原則

1.try中盡量少的包含語句 原因是因為,try語句要經過計算機的檢測看看是否是錯誤的語句,如果是錯誤的語句則會執行catch里面的語句,如果try的語句過多的話,計算機處理速度就會變慢,影響程序的執行。2.如果已經提前預知錯誤的類型,就用if...else...來代替try...catch除掉錯誤預知的這個前提下,if..else..的用法與try...catch...的用法是基本相同的,嚴格意義來說,if..else..的可讀性比try..catch..更強,語句理解能力也更好,開發人員與用戶更加傾向于使用if..else.. 但是如果無法判斷語句是否正確的話,仍然使用try..catch...會更加保險

五、拋出自定義錯誤:  throw  new  Error("錯誤信息")

我們如果不想使用系統設置的錯誤信息(例如前面提到的6種),可以自定義錯誤,例如讓用戶輸入一個數字,但是用戶強制輸入了一個字母,系統就會根據自定義錯誤拋出信息
			function err(a){				if(!isNaN(a)){					console.log("你輸入的數字是:"+a);				}else{					throw new Error("你輸入的是非數字,請重新輸入");				}			}			var a = prompt("請輸入一位數字:");			err(2);			err(a);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 无为县| 高淳县| 塔城市| 海口市| 丰原市| 宝鸡市| 东明县| 定边县| 惠来县| 金昌市| 灯塔市| 界首市| 女性| 商水县| 冕宁县| 尉犁县| 特克斯县| 青田县| 襄城县| 新安县| 江口县| 盈江县| 雷山县| 驻马店市| 徐汇区| 承德县| 彭阳县| 桐城市| 仁布县| 河西区| 北流市| 岳阳县| 永胜县| 顺平县| 永泰县| 海门市| 阜城县| 岐山县| 南平市| 定西市| 富顺县|