Java SQLException getExceptionMessage(Throwable t)

Here you can find the source of getExceptionMessage(Throwable t)

Description

Returns the cause of a trigger exception (BatchupdateException).

License

Open Source License

Parameter

Parameter Description
t exception.

Return

the underlying trigger message.

Declaration

public static String getExceptionMessage(Throwable t) 

Method Source Code

//package com.java2s;
/*/*from ww  w .  j a  va2 s.  c om*/
 *************************************************************************
 * The contents of this file are subject to the Openbravo  Public  License
 * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
 * Version 1.1  with a permitted attribution clause; you may not  use this
 * file except in compliance with the License. You  may  obtain  a copy of
 * the License at http://www.openbravo.com/legal/license.html
 * Software distributed under the License  is  distributed  on  an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific  language  governing  rights  and  limitations
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SLU
 * All portions are Copyright (C) 2010-2014 Openbravo SLU
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 *************************************************************************
 */

import java.sql.BatchUpdateException;

public class Main {
    /**
     * Returns the cause of a trigger exception (BatchupdateException).
     * 
     * Hibernate and JDBC will wrap the exception thrown by the trigger in another exception (the
     * java.sql.BatchUpdateException) and this exception is sometimes wrapped again. Also the
     * java.sql.BatchUpdateException stores the underlying trigger exception in the nextException and
     * not in the cause property.
     * 
     * @param t
     *          exception.
     * @return the underlying trigger message.
     */
    public static String getExceptionMessage(Throwable t) {
        if (t.getCause() instanceof BatchUpdateException
                && ((BatchUpdateException) t.getCause()).getNextException() != null) {
            final BatchUpdateException bue = (BatchUpdateException) t
                    .getCause();
            return bue.getNextException().getMessage();
        }
        return t.getMessage();
    }
}

Related

  1. getAllMessagesArray(Throwable t, boolean includeExceptionName)
  2. getAllSqlExceptionMessages(SQLException t)
  3. getAllSqlExceptionMessagesArray(SQLException t, boolean includeExceptionName)
  4. getClassWhichThrowsException(SQLException e)
  5. getExceptionCause(Throwable e)
  6. getFullMessage(SQLException exception)
  7. getNextExceptionFromLastCause(Exception e)
  8. getSingleSQLExceptionCause(SQLException e)
  9. getSQLErrorCode(SQLException ex_)