Comment un objet de gestionnaire Java peut-il attraper toutes les exceptions capturées et non capturées?


Je veux faire un gestionnaire central Exception, qui gérera toutes les exceptions levées par toute notre application. Les exceptions non interceptées peuvent être traitées par:

Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler());

Mais si la condition vient comme ça, elle ne sera pas gérée:

try
{    
    int i = 10/0 ;  
}
catch (Exception e)
{
    // 
}

Quand une exception est levée dans l'une de mes classes, mon gestionnaire d'exception central devrait apprendre à le savoir.

Author: Kevin Panko, 2015-04-09

1 answers

Dans votre bloc catch:

try
{    
    int i = 10/0 ;  
}
catch (Exception e)
{
    throw new RuntimeException(e);
}

Modifier:

Vous pouvez ajouter une classe avec des méthodes statiques que vous utilisez pour enregistrer les exceptions si vous ne voulez pas planter votre application.

public class Logger {
    public static void onException(Exception e) {
        //Do whatever logging you want to do here.
    }
}

Ensuite, appelez simplement la méthode onException dans n'importe quel bloc catch.

 0
Author: Chris, 2015-04-09 14:03:05