You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2005/10/22 14:20:15 UTC

cvs commit: db-ojb/src/java/org/apache/ojb/broker/util ExceptionHelper.java

arminw      2005/10/22 05:20:15

  Modified:    src/java/org/apache/ojb/broker/util ExceptionHelper.java
  Log:
  minor improvement, always log root stack trace
  
  Revision  Changes    Path
  1.2       +27 -15    db-ojb/src/java/org/apache/ojb/broker/util/ExceptionHelper.java
  
  Index: ExceptionHelper.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/ExceptionHelper.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ExceptionHelper.java	1 Oct 2005 13:48:50 -0000	1.1
  +++ ExceptionHelper.java	22 Oct 2005 12:20:15 -0000	1.2
  @@ -63,25 +63,26 @@
           */
           String eol = SystemUtils.LINE_SEPARATOR;
           StringBuffer msg = new StringBuffer(eol);
  +        eol += "* ";
   
           if(ex instanceof BatchUpdateException)
           {
               BatchUpdateException tmp = (BatchUpdateException) ex;
  -            msg.append("BatchUpdateException during execution.");
  +            msg.append("* BatchUpdateException during execution of sql-statement:");
               msg.append(eol).append("Batch update count is '").append(tmp.getUpdateCounts()).append("'");
           }
           else if(ex instanceof SQLWarning)
           {
  -            msg.append("SQLWarning during execution.");
  +            msg.append("* SQLWarning during execution of sql-statement:");
           }
           else
           {
  -            msg.append("SQLException during execution.");
  +            msg.append("* SQLException during execution of sql-statement:");
           }
   
           if(sql != null)
           {
  -            msg.append(eol).append("sql statement was '").append(sql).append("'.");
  +            msg.append(eol).append("sql statement was '").append(sql).append("'");
           }
           msg.append(eol).append("Exception message is [").append(ex.getMessage()).append("]");
           msg.append(eol).append("Vendor error code [").append(ex.getErrorCode()).append("]");
  @@ -101,7 +102,7 @@
           {
               msg.append(eol).append("Target class is '")
                       .append(cld.getClassNameOfObject())
  -                    .append("'.");
  +                    .append("'");
               FieldDescriptor[] fields = cld.getPkFields();
               msg.append(eol).append("PK of the target object is [");
               for(int i = 0; i < fields.length; i++)
  @@ -118,9 +119,10 @@
                   }
                   catch(Exception ignore)
                   {
  +                    msg.append(" PK field build FAILED! ");
                   }
               }
  -            msg.append("].");
  +            msg.append("]");
           }
           if(values != null)
           {
  @@ -134,22 +136,32 @@
                   msg.append("]");
               }
           }
  -        if(obj != null) msg.append(eol).append("Source object: ").append(obj);
  +        if(obj != null)
  +        {
  +            msg.append(eol).append("Source object: ");
  +            try
  +            {
  +                msg.append(obj.toString());
  +            }
  +            catch(Exception e)
  +            {
  +                msg.append(obj.getClass());
  +            }
  +        }
   
           // message string for PB exception
           String shortMsg = msg.toString();
   
           // add causing stack trace
           Throwable rootCause = ExceptionUtils.getRootCause(ex);
  -        if(rootCause  != null)
  -        {
  -            msg.append(eol).append("The root cause stack is: ");
  -            String rootStack = ExceptionUtils.getStackTrace(rootCause);
  -            msg.append(eol).append(rootStack);
  -        }
  +        if(rootCause == null) rootCause = ex;
  +        msg.append(eol).append("The root stack trace is --> ");
  +        String rootStack = ExceptionUtils.getStackTrace(rootCause);
  +        msg.append(eol).append(rootStack);
  +        msg.append(SystemUtils.LINE_SEPARATOR).append("**");
   
           // log error message
  -        if(logger != null) logger.error(msg.toString(), ex);
  +        if(logger != null) logger.error(msg.toString());
   
           // throw a specific type of runtime exception for a key constraint.
           if("23000".equals(stateCode) || "23505".equals(stateCode))
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org