Mejora en el control de excepciones.

This commit is contained in:
Marcos Garcia Nuñez
2019-12-20 00:04:41 +01:00
parent 66a00616e5
commit aeb1d300a4

View File

@@ -1,9 +1,12 @@
package managedbean.common;
import java.io.IOException;
import java.util.Properties;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.application.ViewExpiredException;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.naming.Context;
import javax.naming.InitialContext;
@@ -121,6 +124,24 @@ public class ManagedBeanBase {
}
protected void manageException(Exception ex) {
String strType = "";
if (ex.getClass().equals(ViewExpiredException.class)) {
// Sessión expired
strType = "expired";
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Su sesión ha caducado", "Su sesión ha caducado, vuelva a logarse en el sistema.");
} else {
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Se ha producido un error inesperado", "Descripción del error: " + ex.getLocalizedMessage());
}
try {
ExternalContext ctx = FacesContext.getCurrentInstance().getExternalContext();
ctx.redirect(ctx.getApplicationContextPath() + "/error.xhtml?type=" + strType);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}