public static void surfaceThrowable(String whereThrown,Throwable t){
  if (t instanceof SQLException) {
    logger.error(String.format("%s: caught SQLException(s):",whereThrown));
    surfaceSqlException((SQLException)t);
    return;
  }
  logger.error(String.format("%s: caught Throwable (%s)\n",whereThrown,t.toString()),t);
  t=t.getCause();
  if (t != null && t instanceof SQLException) {
    logger.error("Caused by SQLException(s):");
    surfaceSqlException((SQLException)t);
  }
}

public static void surfaceThrowable ( String whereThrown , Throwable t ) { if ( t instanceof SQLException ) { logger . error ( String . format ( "%s: caught SQLException(s):" , whereThrown ) ) ; surfaceSqlException ( ( SQLException ) t ) ; return ; } logger . error ( String . format ( "%s: caught Throwable (%s)\n" , whereThrown , t . toString ( ) ) , t ) ; t = t . getCause ( ) ; if ( t != null && t instanceof SQLException ) { logger . error ( "Caused by SQLException(s):" ) ; surfaceSqlException ( ( SQLException ) t ) ; } }
surface a string describing a caught throwable via this class ' logger .
