Ola,
Fiz um CustomExceptionHandler e gostaria de dar um tratamento especifico para cada tipo de exceção. Como por exemplo informar que existe uma chave duplicada e devolver para o formulario de cadastro. Porem nao consegui fazer dessa forma que achei em C#.
public static bool IsCritical(Exception ex)
{
if (ex is OutOfMemoryException)
//Tratamento para esta exceção;
if (ex is AppDomainUnloadedException)
//Tratamento para esta exceção;
if (ex is BadImageFormatException)
//Tratamento para esta exceção;
if (ex is CannotUnloadAppDomainException)
//Tratamento para esta exceção;
if (ex is ExecutionEngineException)
//Tratamento para esta exceção;
else
//Tratamento para exceção qualquer;
}
Como proceder em Java usando o exemplo acima? So consegui fazer assim:
@Override
public void handle() throws FacesException {
//Codigo suprimido
try {
//So consegui pegar o tipo da exceção dessa forma, so tem essa forma mesmo?
if (exception.toString().contains("MySQLIntegrityConstraintViolationException")) {
//codigo caso seja exceção desse tipo
} else {
//Codigo geral para exceções
}
} finally {
}
}