package gcom.util; import java.io.PrintStream; import java.io.PrintWriter; /** * Representa uma falha de sistema (comunica��o, instanciamento, etc) * * @author Administrador */ public class SistemaException extends RuntimeException { private static final long serialVersionUID = 1L; private Throwable excecaoCausa; private long timestamp; /** * Construtor da classe SistemaException */ public SistemaException() { } /** * Construtor da classe SistemaException * * @param mensagem * Mensagem da exce��o */ public SistemaException(String mensagem) { } /** * Construtor da classe SistemaException * * @param excecaoCausa * Exce��o inicial a ser encapsulada */ public SistemaException(Exception excecaoCausa) { this.excecaoCausa = excecaoCausa; } /** * Construtor da classe SistemaException * * @param excecaoCausa * Exce��o inicial a ser encapsulada * @param mensagem * Mensagem da exce��o */ public SistemaException(Exception excecaoCausa, String mensagem) { // super(Mensagens.getMensagem(mensagem)); this.excecaoCausa = excecaoCausa; } /** * Retorna o timestamp do erro * * @return O timestamp do erro */ public long getTimestamp() { return timestamp; } /** * Retorna o valor de excecaoCausa * * @return O valor de excecaoCausa */ public Throwable getExcecaoCausa() { return this.excecaoCausa; } /** */ public void printStackTrace() { super.printStackTrace(); System.err.println("------------------> Root Exception --> "); if (excecaoCausa != null) { excecaoCausa.printStackTrace(); } } /** * @param s */ public void printStackTrace(PrintStream s) { super.printStackTrace(s); s.println("------------------> Root Exception --> "); if (excecaoCausa != null) { excecaoCausa.printStackTrace(s); } } /** * @param s */ public void printStackTrace(PrintWriter s) { super.printStackTrace(s); s.println("------------------> Root Exception --> "); if (excecaoCausa != null) excecaoCausa.printStackTrace(s); } }