package com.FitBank.common;

/**
 * Manejo de Excepciones.
 * 
 * @author FitBank
 * @version 1.0
 */
public class FitException extends Exception {

    private static final long serialVersionUID = 1L;

    private int code = -1;

    /**
     * Constructor copia.
     * 
     * @param throwable Throwable con la Excepcion
     */
    public FitException(Throwable throwable) {
        super(throwable);
    }

    /**
     * Constructor con descripcion.
     * 
     * @param message Mensaje de la Excepcion
     */
    public FitException(String message) {
        super(message);
    }

    /**
     * Constructor con codigo y descripcion.
     * 
     * @param code Int del codigo de Excepcion
     * @param message String del mensaje de la Excepcion
     */
    public FitException(int code, String message) {
        super(message);
        this.code = code;
    }

    /**
     * Constructor con codigo y descripcion.
     * 
     * @param code Int del codigo de Excepcion
     * @param throwable Throwable del mensaje de la Excepcion
     */
    public FitException(int code, Throwable throwable) {
        super("", throwable);
        this.code = code;
    }

    /**
     * Retorna el codigo de la excepcion.
     * 
     * @return Int del codigo de error.
     */
    public int getErrorCode() {
        return code;
    }

}
