摘要:將消息記錄到控制臺(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 += "拋出錯(cuò)誤" + message + "
"; }
對(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
摘要:使用函數(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...
摘要:如發(fā)生解析錯(cuò)誤時(shí),仍然會(huì)從中返回一個(gè)對(duì)象。但這個(gè)對(duì)象的文檔元素是對(duì)象根元素第一個(gè)子元素為。 DOM2級(jí)核心 docuent.implementation中引入了createDocument()方法,IE9支持該方法,如: var xmldom = document.implementation.createDocument(namespaceUri, root, doctype); ...
摘要:如發(fā)生解析錯(cuò)誤時(shí),仍然會(huì)從中返回一個(gè)對(duì)象。但這個(gè)對(duì)象的文檔元素是對(duì)象根元素第一個(gè)子元素為。 DOM2級(jí)核心 docuent.implementation中引入了createDocument()方法,IE9支持該方法,如: var xmldom = document.implementation.createDocument(namespaceUri, root, doctype); ...
摘要:有以下個(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...
摘要:注意請(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í)也需要一些跨域的...
閱讀 898·2021-10-27 14:19
閱讀 1117·2021-10-15 09:42
閱讀 1540·2021-09-14 18:02
閱讀 748·2019-08-30 13:09
閱讀 2995·2019-08-29 15:08
閱讀 2096·2019-08-28 18:05
閱讀 960·2019-08-26 10:25
閱讀 2790·2019-08-23 16:28