成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript 錯(cuò)誤處理與調(diào)試——“調(diào)試技術(shù)與常見的IE錯(cuò)誤”的注意要點(diǎn)

GT / 3512人閱讀

摘要:將消息記錄到控制臺(tái)和來說,可通過對(duì)象向控制臺(tái)中寫入消息。如常見的錯(cuò)誤操作終止無效字符未找到成員未知運(yùn)行時(shí)錯(cuò)誤語法錯(cuò)誤系統(tǒng)無法找到指定資源

將消息記錄到控制臺(tái) console

IE8、Firefox、Chrome和Safari來說,可通過console對(duì)象向JavaScript控制臺(tái)中寫入消息。對(duì)象有下列方法:

error(message):將錯(cuò)誤消息記錄到控制臺(tái)

info(message):將信息消息記錄到控制臺(tái)

log(message):將一般消息記錄到控制臺(tái)

warn(message):將警告消息記錄到控制臺(tái)

如:

console.log("loging");
console.info("infomation");
console.warn("warning");
console.error("bug");

Opera10.5 之前的版本可以通過opera.postError()接收一個(gè)參數(shù)輸出任何信息。

Java

還有一種方案是使用LiveConnect,也就是JavaScript中運(yùn)行Java代碼。

LiveConnect

向JavaScript控制臺(tái)寫入消息的統(tǒng)一接口:

function log(message) {
    if (typeof console == "object") {
        console.log(message);
    } else if (typeof opera == "object") {
        opera.postError(message);
    } else if (typeof java == "object" && typeof java.lang == "object") {
        java.lang.System.out.println(message);
    }
}
將消息記錄到當(dāng)前頁面

這種方法針對(duì)IE7等不支持JavaScript控制臺(tái)的瀏覽器十分有用:

function log(message) {
    var console = document.getElementById("debuginfo");
    if (console === null) {
        console = document.createElement("div");
        console.id = "debuginfo";
        document.body.appendChild(console);
    }
    console.innerHTML += "

" + message + "

"; }
拋出錯(cuò)誤

對(duì)大型應(yīng)用程序來說,自定義的錯(cuò)誤通常使用assert()函數(shù)拋出。對(duì)這個(gè)函數(shù)接受兩個(gè)參數(shù),一個(gè)是求值結(jié)果為true的條件,另一個(gè)是條件為false時(shí)要拋出的錯(cuò)誤。

function assert(condition, message) {
    if (!condition) {
        throw new Error(message);
    }
}

如:

function assert(condition, message) {
    if (!condition) {
        throw new Error(message);
    }
}

function sum(num1, num2) {
    assert((typeof num1 == "number") && (typeof num2 == "number"), "divide(): Both arguments must be numbers.");
    console.log(num1 + num2);
}

sum(321, "abc"); //Uncaught Error: divide(): Both arguments must be numbers.
常見的IE錯(cuò)誤

操作終止

無效字符

未找到成員

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

語法錯(cuò)誤

系統(tǒng)無法找到指定資源

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78703.html

相關(guān)文章

  • JavaScript 錯(cuò)誤處理調(diào)試——“錯(cuò)誤處理注意要點(diǎn)

    摘要:使用函數(shù)發(fā)生異常時(shí)拋出。數(shù)值超出相應(yīng)范圍時(shí)拋出。拋出錯(cuò)誤與相配的還有一個(gè)操作符,用于拋出自定義錯(cuò)誤。錯(cuò)誤事件沒有通過處理的錯(cuò)誤都會(huì)觸發(fā)對(duì)象的事件。任何瀏覽器中,事件處理程序都不會(huì)創(chuàng)建對(duì)象,但它可以接受個(gè)參數(shù)錯(cuò)誤消息錯(cuò)誤所在的和行號(hào)。 try-catch語句 該語句最適合處理那些我們無法控制的錯(cuò)誤,在明明白白地知道自己的代碼會(huì)發(fā)生錯(cuò)誤時(shí),再使用該語句就不太合適了。 ECMA-262第3...

    draveness 評(píng)論0 收藏0
  • JavaScript JavaScriptXML——“XML DOM”注意要點(diǎn)

    摘要:如發(fā)生解析錯(cuò)誤時(shí),仍然會(huì)從中返回一個(gè)對(duì)象。但這個(gè)對(duì)象的文檔元素是對(duì)象根元素第一個(gè)子元素為。 DOM2級(jí)核心 docuent.implementation中引入了createDocument()方法,IE9支持該方法,如: var xmldom = document.implementation.createDocument(namespaceUri, root, doctype); ...

    melody_lql 評(píng)論0 收藏0
  • JavaScript JavaScriptXML——“XML DOM”注意要點(diǎn)

    摘要:如發(fā)生解析錯(cuò)誤時(shí),仍然會(huì)從中返回一個(gè)對(duì)象。但這個(gè)對(duì)象的文檔元素是對(duì)象根元素第一個(gè)子元素為。 DOM2級(jí)核心 docuent.implementation中引入了createDocument()方法,IE9支持該方法,如: var xmldom = document.implementation.createDocument(namespaceUri, root, doctype); ...

    figofuture 評(píng)論0 收藏0
  • JavaScript AjaxComet——“進(jìn)度事件”注意要點(diǎn)

    摘要:有以下個(gè)進(jìn)度事件在接收到響應(yīng)數(shù)據(jù)的第一個(gè)字節(jié)時(shí)觸發(fā)。在接收響應(yīng)數(shù)據(jù)期間持續(xù)的觸發(fā)在請(qǐng)求發(fā)生錯(cuò)誤時(shí)觸發(fā)在因調(diào)用方法而終止連接時(shí)觸發(fā)在接收到完整的響應(yīng)數(shù)據(jù)時(shí)觸發(fā)在通信完成或者觸發(fā),,事件后觸發(fā)。 有以下6個(gè)進(jìn)度事件: loadstart: 在接收到響應(yīng)數(shù)據(jù)的第一個(gè)字節(jié)時(shí)觸發(fā)。 progress: 在接收響應(yīng)數(shù)據(jù)期間持續(xù)的觸發(fā) error: 在請(qǐng)求發(fā)生錯(cuò)誤時(shí)觸發(fā) abort: 在因調(diào)用ab...

    ad6623 評(píng)論0 收藏0
  • JavaScript AjaxComet——“跨源資源共享”注意要點(diǎn)

    摘要:注意請(qǐng)求和響應(yīng)都不包含信息。對(duì)象的安全機(jī)制部分實(shí)現(xiàn)了的規(guī)范。請(qǐng)求返回后會(huì)觸發(fā)事件,響應(yīng)數(shù)據(jù)保存在屬性中。無論是同源請(qǐng)求還是跨域請(qǐng)求,對(duì)于本地資源最好使用相對(duì),在訪問遠(yuǎn)程資源時(shí)再使用絕對(duì)。發(fā)送請(qǐng)求之后,服務(wù)器決定是否允許這種類型的請(qǐng)求。 通過XHR實(shí)現(xiàn)Ajax通信的一個(gè)主要限制,來源于跨域安全策略。在默認(rèn)情況下,Ajax只能訪問與包含它的頁面位于同一個(gè)域中的資源。但是有時(shí)也需要一些跨域的...

    haobowd 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<