2011-06-27 69 views
2

我在網絡應用程序中使用Prototype,並且當拋出異常(包括處理的異常)時我想中斷。但是,我不想打破用於流量控制的異常,特別是Prototype的each實現中使用的throw $break模式。

function detect(iterator, context) { 
    var result; 
    this.each(function(value, index) { 
    if (iterator.call(context, value, index)) { 
     result = value; 
     throw $break; // I want to ignore this one 
    } 
    }); 
    return result; 
} 

有誰知道如何讓Chrome的調試器忽略特定的異常?或者讓它忽略特定行引發的異常?甚至是爲了讓它在特定文件中不被破解?

回答

3

我很確定沒有這樣的功能。 documentation看起來相當完整,沒有提到它。此外,Chrome開發人員工具使用遠程調試協議,其Debugger.setPauseOnExceptions命令沒有「文件」參數。這就是說,我沒有注意到源代碼。

使用Chrome的調試器忽略特定的異常或文件也有助於處理jQuery。它捕獲並重新引發事件回調中的任何異常(搜索「resolveWith」),使控制檯中的消息基本無用。 jQuery始終在內部拋出並捕獲異常,因此打破所有異常會產生太多噪音。