
154
|
第九章
try {
// 拋出某些例外情形
} catch(e) {
console.error(" 應用程式發生錯誤 !", e);
}
你也可以利用代理器函式(proxy function),設定日誌記錄的命名空間:
var App = {trace: true};
App.log = function(){
if (!this.trace) return;
if (typeof console == "undefined") return;
var slice = Array.prototype.slice;
var args = slice.call(arguments, 0);
args.unshift("(App)");
console.log.apply(console, args);
};
App.log()
函式在接收到所有參數之後,會在它們前面加上一組字串「
App
」,然後再呼
叫
console.log()
,並將這些參數轉交給
console.log()
。
使用
console
物件設定日誌記錄時,需要特別注意一點:有些瀏覽器不支援
console
語
法(像是 IE,或尚未安裝 Firebug 的 Firebox),如果在這些瀏覽器上執行和
console
物
件相關的函式,會發生錯誤。因此,如果要在程式碼裡安插日誌記錄,建議最好利用像
App.log()
這樣的代理器函式來處理。
利用
console.trace()
函式,可以輸出 script 程式目前的堆疊追蹤(stack trace ...