1. 程式人生 > >溫故而知新 js 的錯誤處理機制

溫故而知新 js 的錯誤處理機制

HA 機制 dom 處理 process test web ucc 報錯

// 在函數塊的try中return,會直接成為函數的return值
function test() {
    try {
        alrt(123)
        return ‘success‘
    } catch(err) {
        return ‘fail‘
    }
}
var result = test()
console.log(result); // fail

/**
 * 瀏覽器全局錯誤的處理
 * web 瀏覽器,所有未捕獲的錯誤向上冒泡,最終由window.onerror 這一最高層級的事件函數處理。
 * 請註意,在web瀏覽器的控制臺報錯是無法被捕獲的
 
*/ window.onerror = function (msg, url, line, col) { console.log(msg, url, line, col); return true; // 告訴瀏覽器錯誤已被處理,沒必要展示給用戶 } /** * node.js 的全局錯誤處理 * process 對象會觸發unCaughtException 事件。 */ process.on(‘unCaughtException‘, function (err) { console.log(err); }) /** * domain 運行代碼以及錯誤捕捉 */ var
domain = require(‘domain‘).create(); domain.on(‘error‘, function (err) { console.log(err); }); /** * 該示例的基本思想是,也許會引發錯誤的代碼可以放在這裏運行 * 若函數調用的代碼引發錯誤,將觸發該domain的錯誤事件。通過監聽error事件可以做出恰當的處理 */ domain.run(function () { /* some code that might throw an error */ })

溫故而知新 js 的錯誤處理機制