IDEMPIERE-4217 Improve DB exception traceability in PO saveEx and deleteEx (FHEG-1684)
This commit is contained in:
parent
3efc30368b
commit
43d77dee4e
|
@ -2266,7 +2266,8 @@ public abstract class PO
|
||||||
msg = (val != null ? val + ": " : "") + err.getName();
|
msg = (val != null ? val + ": " : "") + err.getName();
|
||||||
if (msg == null || msg.length() == 0)
|
if (msg == null || msg.length() == 0)
|
||||||
msg = "SaveError";
|
msg = "SaveError";
|
||||||
throw new AdempiereException(msg);
|
Exception ex = CLogger.retrieveException();
|
||||||
|
throw new AdempiereException(msg, ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3558,7 +3559,8 @@ public abstract class PO
|
||||||
msg = err.getName();
|
msg = err.getName();
|
||||||
if (msg == null || msg.length() == 0)
|
if (msg == null || msg.length() == 0)
|
||||||
msg = "DeleteError";
|
msg = "DeleteError";
|
||||||
throw new AdempiereException(msg);
|
Exception ex = CLogger.retrieveException();
|
||||||
|
throw new AdempiereException(msg, ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4841,7 +4843,7 @@ public abstract class PO
|
||||||
if ("DBExecuteError".equals(msg))
|
if ("DBExecuteError".equals(msg))
|
||||||
info = "DBExecuteError:" + info;
|
info = "DBExecuteError:" + info;
|
||||||
// Unique Constraint
|
// Unique Constraint
|
||||||
Exception e = CLogger.retrieveException();
|
Exception e = CLogger.peekException();
|
||||||
if (DBException.isUniqueContraintError(e))
|
if (DBException.isUniqueContraintError(e))
|
||||||
{
|
{
|
||||||
boolean found = false;
|
boolean found = false;
|
||||||
|
|
|
@ -199,7 +199,7 @@ public class CLogger extends Logger
|
||||||
{
|
{
|
||||||
ValueNamePair vp = (ValueNamePair) Env.getCtx().get(LAST_ERROR);
|
ValueNamePair vp = (ValueNamePair) Env.getCtx().get(LAST_ERROR);
|
||||||
return vp;
|
return vp;
|
||||||
} // retrieveError
|
} // peekError
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Error message from stack
|
* Get Error message from stack
|
||||||
|
@ -225,6 +225,16 @@ public class CLogger extends Logger
|
||||||
return ex;
|
return ex;
|
||||||
} // retrieveError
|
} // retrieveError
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Peek Exception from Stack
|
||||||
|
* @return last exception
|
||||||
|
*/
|
||||||
|
public static Exception peekException()
|
||||||
|
{
|
||||||
|
Exception ex = (Exception) Env.getCtx().get(LAST_EXCEPTION);
|
||||||
|
return ex;
|
||||||
|
} // peekException
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Save Warning as ValueNamePair.
|
* Save Warning as ValueNamePair.
|
||||||
* @param AD_Message message key
|
* @param AD_Message message key
|
||||||
|
|
Loading…
Reference in New Issue