2010-08-07 5 views
1

J'essaie d'écrire dans un gestionnaire d'erreurs global pouvant fonctionner dans Chrome et Safari. Les navigateurs WebKit ne prennent pas en charge window.onerror, donc je voudrais trouver un moyen de parcourir toutes les fonctions de mon code et de les encapsuler dans des blocs try - catch, en passant les exceptions à mon code de gestion des erreurs personnalisé. Est-ce que quelqu'un sait d'un moyen efficace pour accomplir cela?Comment puis-je parcourir toutes mes fonctions dans JavaScript et ajouter des blocs catch try?

+0

Je dois vous demander pourquoi vous voulez attraper TOUTES les méthodes. Peut-être devriez-vous limiter la portée de ce qui nécessite une gestion des erreurs. –

Répondre

2

Vous pouvez utiliser jQuery aop. Quelque chose comme

jQuery.aop.around({target: window, method: /.*/}, 
    function(invocation) { 
    var result; 
    try{ 
     result = invocation.proceed(); 
    } 
    catch(e){ 
     myHandler(); 
    } 
    return result; 
    } 
); 

Et si vous n'êtes pas habitué à AOP, here's the wiki explanation.

+0

Cool! Je n'ai jamais su à ce sujet. –