亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

詳解JavaScript中的異常處理方法

2019-11-20 12:14:17
字體:
來源:轉載
供稿:網友

 有三種類型的編程錯誤:(1)語法錯誤和(2)運行時錯誤(3)邏輯錯誤:
語法錯誤:

語法錯誤,也被稱為解析錯誤,在編譯時進行傳統的編程語言,并出現在JavaScript解釋時。

例如,下面一行將導致一個語法錯誤,因為它缺少一個右括號:

<script type="text/javascript"><!--window.print(;//--></script>

當一個語法錯誤在JavaScript中出現,只有在同一個線程中包含的語法錯誤的影響,在其他線程的代碼被執行;代碼依賴于包含錯誤的代碼不會被執行。
運行時錯誤:

執行(編譯/解釋后)在運行時錯誤,也被稱為異常,會引發。

例如,下面一行將導致運行時錯誤,因為這里的語法是正確的,但在運行時它正試圖調用非存在的方法:

<script type="text/javascript"><!--window.printme();//--></script>

例外情況也影響到它們發生的線程,允許其他JavaScript線程繼續正常執行。
邏輯錯誤:

邏輯錯誤可能是最困難的類型的錯誤跟蹤。這些錯誤是不是一個語法或運行時錯誤的結果。相反,當發生一個錯誤的驅動腳本邏輯,你沒有得到所期望的結果。

你可能無法抓到這些錯誤,因為這取決于程序是什么類型的邏輯是基于業務需求。
try...catch...finally 語句:

JavaScript的最新版本中添加的異常處理能力。JavaScript實現 try ... catch... finally結構以及拋出操作來處理異常。

你可以捕獲程序員生成和運行時異常,但不能捕獲JavaScript語法錯誤。

這里是 try...catch...finally 塊語法:

<script type="text/javascript"><!--try {  // Code to run  [break;]} catch ( e ) {  // Code to run if an exception occurs  [break;]}[ finally {  // Code that is always executed regardless of   // an exception occurring}]//--></script>

try塊必須后跟只有一個catch塊或者一個finally塊(或兩者之一)。當一個異常在try塊時,除被放置在e和catch塊被執行。 try/catch語句后的可選finally塊無條件地執行。
示例:

下面是一個例子,我們正試圖調用一個不存在的函數,這將引發異常。讓我們來看看它的行為,不具有try ... catch:

<html><head><script type="text/javascript"><!--function myFunc(){  var a = 100;  alert("Value of variable a is : " + a ); }//--></script></head><body><p>Click the following to see the result:</p><form><input type="button" value="Click Me" onclick="myFunc();" /></form></body></html>

現在,讓我們嘗試使用 try ... catch 捕獲這個異常,并顯示一個用戶友好的消息。也可以取消此消息,如果要隱藏從用戶這個錯誤。

<html><head><script type="text/javascript"><!--function myFunc(){  var a = 100;    try {   alert("Value of variable a is : " + a );  } catch ( e ) {   alert("Error: " + e.description );  }}//--></script></head><body><p>Click the following to see the result:</p><form><input type="button" value="Click Me" onclick="myFunc();" /></form></body></html>

可以使用finally塊將永遠try/catch語句后,無條件地執行。下面是一個例子:

<html><head><script type="text/javascript"><!--function myFunc(){  var a = 100;    try {   alert("Value of variable a is : " + a );  }catch ( e ) {   alert("Error: " + e.description );  }finally {   alert("Finally block will always execute!" );  }}//--></script></head><body><p>Click the following to see the result:</p><form><input type="button" value="Click Me" onclick="myFunc();" /></form></body></html>

throw 語句:

可以使用throw語句來提高你的內置異常或自定義異常。后來這些異??梢员徊东@并可以采取適當的行動。

以下是表示throw語句的用法的例子。

<html><head><script type="text/javascript"><!--function myFunc(){  var a = 100;  var b = 0;    try{   if ( b == 0 ){     throw( "Divide by zero error." );    }else{     var c = a / b;   }  }catch ( e ) {   alert("Error: " + e );  }}//--></script></head><body><p>Click the following to see the result:</p><form><input type="button" value="Click Me" onclick="myFunc();" /></form></body></html>

您可以使用字符串,整數,布爾或對象在一個函數拋出一個異常,那么可以捕捉例外在相同的函數,我們在上面做了,或者使用try ... catch塊在其他的函數。
onerror() 語法

onerror事件處理程序是第一個特點,方便JavaScript處理錯誤。錯誤事件被觸發窗口對象,每當一個異常頁面上出現。例如:

<html><head><script type="text/javascript"><!--window.onerror = function () {  alert("An error occurred.");}//--></script></head><body><p>Click the following to see the result:</p><form><input type="button" value="Click Me" onclick="myFunc();" /></form></body></html>

onerror事件處理程序提供了三條信息,以找出錯誤的確切性質:

  1.     錯誤消息 . 瀏覽器將顯示給定的錯誤相同的消息
  2.     URL . 在發生錯誤的文件
  3.     行號. 在導致錯誤的URL給出的行號

這里是例子來說明如何提取此信息

<html><head><script type="text/javascript"><!--window.onerror = function (msg, url, line) {  alert("Message : " + msg );  alert("url : " + url );  alert("Line number : " + line );}//--></script></head><body><p>Click the following to see the result:</p><form><input type="button" value="Click Me" onclick="myFunc();" /></form></body></html>

可以顯示在任何方式,你覺得這是更好的提取信息。

可以使用onError方法來顯示錯誤消息的情況下沒有在如下加載圖像的任何問題:

<img src="myimage.gif"  onerror="alert('An error occurred loading the image.')" />

可以使用的onerror許多HTML標記錯誤的情況下顯示相應的信息。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩成人精品| 精品视频9999| 中文字幕亚洲综合久久筱田步美| 国产精品天天狠天天看| 亚洲电影av在线| 国产69久久精品成人看| 久久久亚洲福利精品午夜| 亚洲在线观看视频| 亚洲女人初尝黑人巨大| 97精品视频在线播放| 欧美大成色www永久网站婷| 亚洲电影在线观看| 国产精品入口免费视频一| 国产精品高清在线| 欧美大胆在线视频| 97视频在线免费观看| 久久综合五月天| 日韩风俗一区 二区| 欧美在线一区二区视频| 中文字幕亚洲欧美日韩2019| 亚洲另类激情图| 久久久久久91香蕉国产| 久久精品亚洲一区| 在线免费看av不卡| 国产成人av在线播放| 国产一区二区三区毛片| 亚洲精品av在线| 91久久在线播放| 激情av一区二区| 欧美老女人bb| 欧美不卡视频一区发布| 欧美精品videossex性护士| 岛国av一区二区三区| 欧美日韩亚洲精品内裤| 久久精视频免费在线久久完整在线看| 欧美日韩国产成人| 国产91精品久久久久久久| 97人洗澡人人免费公开视频碰碰碰| 欧美福利小视频| 亚洲精品自拍偷拍| 国产精品夫妻激情| 黑人精品xxx一区| 国产精品老女人精品视频| 九九久久精品一区| 57pao国产成人免费| 91精品综合久久久久久五月天| 国产精品草莓在线免费观看| 97视频在线观看免费| 日韩中文字幕在线视频| 国产在线视频不卡| 精品久久久国产精品999| 国产精品久久久久久久久借妻| 欧美成人免费在线观看| 国色天香2019中文字幕在线观看| 欧美电影免费看| 国产精品亚洲激情| 亚洲mm色国产网站| 日韩欧美一区二区在线| 欧美日韩中文字幕综合视频| 欧美激情一区二区三区高清视频| 欧美成人免费视频| 欧美精品久久久久久久| 91高潮在线观看| 欧美激情精品久久久久久大尺度| 亚洲男人7777| 国产suv精品一区二区| 国产精品久久久av久久久| 一区二区在线视频| 国产精品久久久久免费a∨| 国产日韩欧美日韩大片| 日韩在线视频免费观看高清中文| 欧美福利在线观看| 2019中文在线观看| 欧美诱惑福利视频| 伊人一区二区三区久久精品| 国产综合久久久久久| 欧美电影院免费观看| 日本人成精品视频在线| 国产欧美一区二区三区在线| 伦理中文字幕亚洲| 浅井舞香一区二区| 黑人精品xxx一区| 91欧美激情另类亚洲| 欧美日韩国产在线| 欧美中文在线观看国产| 91欧美激情另类亚洲| 欧美在线视频导航| 国产成人精品视| 欧美午夜电影在线| 国产精品一区电影| 国产日韩欧美成人| 777午夜精品福利在线观看| 欧美极品第一页| 精品国产91久久久久久| 欧美精品第一页在线播放| 神马久久久久久| 欧美日韩免费在线| 亚洲精品在线91| 欧美亚洲国产精品| 久久精品中文字幕一区| 在线成人激情视频| 国产精品亚洲精品| 欧美床上激情在线观看| 色噜噜狠狠狠综合曰曰曰| 成年无码av片在线| 欧美黑人xxx| 一区二区三区高清国产| 久久久久中文字幕| 久久久久一本一区二区青青蜜月| 国产午夜精品麻豆| 亚洲白虎美女被爆操| 日本一本a高清免费不卡| 欧美在线免费观看| 欧美大片在线影院| 亚洲免费视频观看| 在线精品播放av| 91在线观看免费网站| 亚洲天堂成人在线| 红桃视频成人在线观看| 日韩av在线免费观看| 亚洲欧美成人一区二区在线电影| 欧美性开放视频| 欧美性xxxx| 91chinesevideo永久地址| 亚洲人成在线观看| 国产成人亚洲精品| 亚洲精品网站在线播放gif| 在线成人免费网站| 成人国产精品久久久| 久久好看免费视频| 国产一区二区三区丝袜| 91免费精品国偷自产在线| 亚州国产精品久久久| 亚洲国产成人久久综合一区| 主播福利视频一区| 欧美日韩国产麻豆| 69久久夜色精品国产7777| 欧美日韩国产丝袜美女| 久久久久久久久久久亚洲| 欧美性生交大片免网| 日韩电影免费在线观看中文字幕| 福利一区福利二区微拍刺激| 欧美一级成年大片在线观看| 91精品久久久久久久久久久久久| 日韩成人小视频| 91精品国产综合久久香蕉的用户体验| 26uuu亚洲伊人春色| 78色国产精品| 国内精久久久久久久久久人| 久久视频在线播放| 欧美激情国产高清| 国产精品99蜜臀久久不卡二区| 8090成年在线看片午夜| 成人午夜两性视频| 欧洲精品久久久| 国产精品热视频| 中文字幕自拍vr一区二区三区| 国产又爽又黄的激情精品视频| 欧美俄罗斯性视频| 久久人91精品久久久久久不卡| 久久久国产一区二区| 欧美第一黄色网| 欧美中文字幕在线| 91在线看www|