在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ JavaScript錯(cuò)誤和異常處理
Javascript Math.log()方法
Javascript String.sub()方法
JavaScript表單驗(yàn)證
Javascript教程
Javascript String.fontsize()方法
Javascript Date.getUTCHours()方法
JavaScript運(yùn)算符
Javascript RegExp.ignoreCase屬性
Javascript Date.toLocaleDateString()方法
Javascript String.valueOf()方法
Javascript Date.setUTCMinutes()方法
JavaScript Switch Case
JavaScript Function() 構(gòu)造
Javascript Math.floor()方法
JavaScript頁(yè)面刷新
Javascript Math.abs()方法
Javascript Array.pop()方法
Javascript Boolean.valueOf()方法
Javascript Number.MIN_VALUE
Javascript Date.parse()方法
Javascript Math.LOG10E屬性
Javascript Math.random()方法
Javascript Date.getYear()方法
Javascript Array.some()方法
Javascript Array.filter()方法
Javascript Array.join()方法
JavaScript for循環(huán)
Javascript String.localeCompare()方法
JavaScript語(yǔ)法
Javascript Array.length屬性
Javascript String.strike()方法
Javascript String.constructor屬性
JavaScript Date對(duì)象
Javascript Date.setYear()方法
Javascript Math.E屬性
Javascript Math.LN10屬性
Javascript Math.sqrt()方法
Javascript Array.reverse()方法
Javascript String.length屬性
Javascript RegExp.lastIndex屬性
Javascript Arrays對(duì)象
Javascript Boolean.toSource()方法
Javascript Date.valueOf()方法
JavaScript while循環(huán)
Javascript Date.getDate()方法
Javascript Date.toUTCString()方法
Javascript Math.SQRT2屬性
Javascript Array.lastIndexOf()方法
Javascript String.slice()方法
Javascript Date.getTime()方法
Javascript Date.getSeconds()方法
Javascript RegExp.toString()方法
Javascript String.replace()方法
Javascript Array.splice()方法
Javascript多媒體
Javascript Math.atan2()方法
Javascript Date.toString()方法
Javascript Date.getUTCMinutes()方法
Javascript Date.getFullYear()方法
Javascript Date.setDate()方法
Javascript Array.slice()方法
Javascript Math.ceil()方法
Javascript Date.getHours()方法
JavaScript事件
Javascript Math.pow()方法
Javascript Math.exp()方法
Javascript Date.getMonth()方法
Javascript Date.setUTCDate()方法
Javascript Array.reduce()方法
Javascript Date setUTCMilliseconds()方法
JavaScript文檔對(duì)象模型或DOM
Javascript String.blink()方法
Javascript Number.POSITIVE_INFINITY
Javascript Math.asin()方法
JavaScript動(dòng)畫
Javascript Number.MAX_VALUE
Javascript RegExp.global屬性
Javascript Date.getMinutes()方法
Javascript Date.UTC()方法
Javascript Date.getUTCMilliseconds()方法
Javascript Math.SQRT1_2屬性
Javascript Array.every()方法
Javascript String.anchor()方法
JavaScript if...else語(yǔ)句
Javascript Math.round()方法
Javascript Array.concat()方法
Javascript Boolean.toString()方法
Javascript Math.sin()方法
Javascript Math.max()方法
Javascript Date.setMilliseconds()方法
JavaScript對(duì)象
Javascript String.toLocaleLowerCase()方法
Javascript Math.min()方法
JavaScript傳統(tǒng)DOM
Javascript Array.unshift()方法
Javascript Date.toTimeString()方法
Javascript String.toString()方法
Javascript String.substring()方法
Javascript Array.constructor屬性
正則表達(dá)式和RegExp對(duì)象
Javascript Math.acos()方法
JavaScript Boolean.constructor()方法
Javascript RegExp.source屬性
Javascript Math.PI屬性
JavaScript W3C DOM
Javascript Date.setMinutes()方法
JavaScript Cookies
JavaScript循環(huán)控制
Javascript Array.push()方法
Javascript Date.getMilliseconds()方法
Javascript Date.getUTCSeconds()方法
Javascript String.charAt()方法
Javascript Date.getUTCFullYear()方法
JavaScript對(duì)話框
Javascript String.toUpperCase()方法
Javascript Math.atan()方法
Javascript Number.NEGATIVE_INFINITY
Javascript Date.getUTCDay()方法
Javascript String.search()方法
Javascript String.substr()方法
Javascript Array.toString()方法
Javascript String.sup()方法
Javascript String.charCodeAt()方法
Javascript Math.cos()方法
Javascript String.bold()方法
Javascript Math.tan()方法
Javascript RegExp.test()方法
Javascript Date.toDateString()方法
JavaScript錯(cuò)誤和異常處理
JavaScript函數(shù)
Javascript String.link()方法
JavaScript嵌套函數(shù)
Javascript Boolean對(duì)象
Javascript Array.shift()方法
Javascript String.small()方法
Javascript Date.getUTCMonth()方法
Javascript String.lastIndexOf()方法
Javascript Math.toSource()方法
Javascript Array.reduceRight()方法
JavaScript變量和數(shù)據(jù)類型
Javascript Number.NaN
Javascript Array.toSource()方法
Javascript頁(yè)面打印
Javascript Date.setUTCFullYear()方法
Javascript Array.indexOf()方法
Javascript RegExp.exec()方法
Javascript Date.setUTCSeconds()方法
Javascript String.match()方法
Javascript Date.setSeconds()方法
Javascript Array.sort()方法
Javascript Math.LOG2E,屬性
Javascript Math對(duì)象
Javascript Math.LN2屬性
Javascript String對(duì)象
JavaScript頁(yè)面重定向
Javascript RegExp.toSource()方法
Javascript Date.getUTCDate()方法
Javascript String.concat()方法
Javascript Array.map()方法
Javascript Date.toSource()方法
Javascript String.toLowerCase()方法
在HTML文件放置JavaScript
JavaScript for...in 循環(huán)
Javascript Object.prototype
Javascript RegExp.constructor屬性
JavaScript void關(guān)鍵詞
Javascript Date.getTimezoneOffset()方法
Javascript RegExp.multiline屬性
Javascript Date()函數(shù)
Javascript Date.setUTCHours()方法
JavaScript Array.forEach()方法
在瀏覽器中啟用JavaScript
Javascript Date.setTime()方法
Javascript String.toLocaleUpperCase()方法
Javascript Date.setHours()方法
Javascript Date.constructor屬性
Javascript String.fixed()方法
Javascript Number對(duì)象
Javascript String.italics()方法
Javascript String.big()方法
Javascript String.fontcolor()方法
Javascript Date.getDay()方法
JavaScript IE4 DOM
Javascript Date.setMonth()方法
Javascript Date.setFullYear()方法
JavaScript函數(shù)字面值

JavaScript錯(cuò)誤和異常處理

有三種類型的編程錯(cuò)誤:(1)語(yǔ)法錯(cuò)誤和(2)運(yùn)行時(shí)錯(cuò)誤(3)邏輯錯(cuò)誤:

語(yǔ)法錯(cuò)誤:

語(yǔ)法錯(cuò)誤,也被稱為解析錯(cuò)誤,在編譯時(shí)進(jìn)行傳統(tǒng)的編程語(yǔ)言,并出現(xiàn)在JavaScript解釋時(shí)。

例如,下面一行將導(dǎo)致一個(gè)語(yǔ)法錯(cuò)誤,因?yàn)樗鄙僖粋€(gè)右括號(hào):

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

當(dāng)一個(gè)語(yǔ)法錯(cuò)誤在JavaScript中出現(xiàn),只有在同一個(gè)線程中包含的語(yǔ)法錯(cuò)誤的影響,在其他線程的代碼被執(zhí)行;代碼依賴于包含錯(cuò)誤的代碼不會(huì)被執(zhí)行。

運(yùn)行時(shí)錯(cuò)誤:

執(zhí)行(編譯/解釋后)在運(yùn)行時(shí)錯(cuò)誤,也被稱為異常,會(huì)引發(fā)。

例如,下面一行將導(dǎo)致運(yùn)行時(shí)錯(cuò)誤,因?yàn)檫@里的語(yǔ)法是正確的,但在運(yùn)行時(shí)它正試圖調(diào)用非存在的方法:

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

例外情況也影響到它們發(fā)生的線程,允許其他JavaScript線程繼續(xù)正常執(zhí)行。

邏輯錯(cuò)誤:

邏輯錯(cuò)誤可能是最困難的類型的錯(cuò)誤跟蹤。這些錯(cuò)誤是不是一個(gè)語(yǔ)法或運(yùn)行時(shí)錯(cuò)誤的結(jié)果。相反,當(dāng)發(fā)生一個(gè)錯(cuò)誤的驅(qū)動(dòng)腳本邏輯,你沒有得到所期望的結(jié)果。

你可能無法抓到這些錯(cuò)誤,因?yàn)檫@取決于程序是什么類型的邏輯是基于業(yè)務(wù)需求。

try...catch...finally 語(yǔ)句:

JavaScript的最新版本中添加的異常處理能力。JavaScript實(shí)現(xiàn) try ... catch... finally結(jié)構(gòu)以及拋出操作來處理異常。

你可以捕獲程序員生成和運(yùn)行時(shí)異常,但不能捕獲JavaScript語(yǔ)法錯(cuò)誤。

這里是 try...catch...finally 塊語(yǔ)法:

<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塊必須后跟只有一個(gè)catch塊或者一個(gè)finally塊(或兩者之一)。當(dāng)一個(gè)異常在try塊時(shí),除被放置在e和catch塊被執(zhí)行。 try/catch語(yǔ)句后的可選finally塊無條件地執(zhí)行。

示例:

下面是一個(gè)例子,我們正試圖調(diào)用一個(gè)不存在的函數(shù),這將引發(fā)異常。讓我們來看看它的行為,不具有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>

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

<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塊將永遠(yuǎn)try/catch語(yǔ)句后,無條件地執(zhí)行。下面是一個(gè)例子:

<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 語(yǔ)句:

可以使用throw語(yǔ)句來提高你的內(nèi)置異常或自定義異常。后來這些異??梢员徊东@并可以采取適當(dāng)?shù)男袆?dòng)。

以下是表示throw語(yǔ)句的用法的例子。

<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>

您可以使用字符串,整數(shù),布爾或?qū)ο笤谝粋€(gè)函數(shù)拋出一個(gè)異常,那么可以捕捉例外在相同的函數(shù),我們?cè)谏厦孀隽?,或者使用try ... catch塊在其他的函數(shù)。

onerror() 語(yǔ)法

onerror事件處理程序是第一個(gè)特點(diǎn),方便JavaScript處理錯(cuò)誤。錯(cuò)誤事件被觸發(fā)窗口對(duì)象,每當(dāng)一個(gè)異常頁(yè)面上出現(xiàn)。例如:

<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事件處理程序提供了三條信息,以找出錯(cuò)誤的確切性質(zhì):

  • 錯(cuò)誤消息 . 瀏覽器將顯示給定的錯(cuò)誤相同的消息

  • URL . 在發(fā)生錯(cuò)誤的文件

  • 行號(hào). 在導(dǎo)致錯(cuò)誤的URL給出的行號(hào)

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

<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方法來顯示錯(cuò)誤消息的情況下沒有在如下加載圖像的任何問題:

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

可以使用的onerror許多HTML標(biāo)記錯(cuò)誤的情況下顯示相應(yīng)的信息。