code: public void throwing (String msg, Throwable t) {
  		StackTraceElement caller = StackTraceUtils.getCallerStackTraceElement ();
  		if (caller != null) {
  			logger.logp (Level.FINER, caller.getClassName (), caller.getMethodName () + "():" + caller.getLineNumber (), msg, t);
  		} else {
  			logger.logp (Level.FINER, "(UnknownSourceClass)", "(unknownSourceMethod)", msg, t);
  		}
  	}
docs: Log a message at Level.FINER, with associated Throwable information.
  <p>
  If the logger is currently enabled for Level.FINER then the given
  arguments are stored in a LogRecord which is forwarded to all registered
  output handlers.
  <p>
  Note that the thrown argument is stored in the
  LogRecord thrown property, rather than the LogRecord parameters property.
  Thus is it processed specially by output Formatters and is not treated as
  a formatting parameter to the LogRecord message property.
  <p>
  
  @param msg The string message (or a key in the message catalog)
  @param t Throwable associated with log message.
  @see Logger#throwing(java.lang.String, java.lang.String,
  java.lang.Throwable)
  @see Logger#logp(java.util.logging.Level, java.lang.String,
  java.lang.String, java.lang.String, java.lang.Throwable)