code: public void throwing (Throwable t) {
  		StackTraceElement caller = StackTraceUtils.getCallerStackTraceElement ();
  		if (caller != null) {
  			logger.throwing (caller.getClassName (), caller.getMethodName () + "():" + caller.getLineNumber (), t);
  		} else {
  			logger.throwing ("(UnknownSourceClass)", "(unknownSourceMethod)", t);
  		}
  
  	}
docs: Log a Throwable at Level.FINER, with associated Throwable information.
  <p>
  This is a convenience method to log that a method is terminating by
  throwing an exception. The logging is done using the FINER level.
  <p>
  If
  the logger is currently enabled for the given message level then the
  given arguments are stored in a LogRecord which is forwarded to all
  registered output handlers. The LogRecord's message is set to "THROW".
  <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 t The Throwable that is being thrown.
  @see Logger#throwing(java.lang.String, java.lang.String,
  java.lang.Throwable)