Jdeveloper version – 12.2.1.0.0
Problem - The custom error gets displayed in jdev console but no pop up shows up on UI
In my application I have a main page i.e. a table and an edit page i.e. a form. Clicking on a record in the main page navigates to the edit page with details of the selected record. While editing and saving a record in 2 browsers simultaneously, I am getting below error in console
<oracle.dfw.impl.incident.DiagnosticsDataExtractorImpl> <DiagnosticsDataExtractorImpl> <createADRIncident> <incident 104 created with problem key "ADFC-00032 [ADFc]">
<oracle.adf.view> <RichExceptionHandler> <_logUnhandledException> <ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase INVOKE_APPLICATION 5>
oracle.jbo.JboException: Pankti Test - Record modified by another user
at com.view.CustomDCErrorHandlerImpl.handleJBO25014**(CustomDCErrorHandlerImpl.java:34)**
at com.view.CustomDCErrorHandlerImpl.reportException(CustomDCErrorHandlerImpl.java:20)
at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:437)
at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:485)
at oracle.adf.model.binding.DCControlBinding.reportException(DCControlBinding.java:202)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.reportException(JUCtrlActionBinding.java:2120)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1749)
at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2294)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:785)
..............................................................................
<oracle.adf.view> <PartialResponseUtils> <handleError> <ADF_FACES-60096:Server Exception during PPR, #2>
oracle.jbo.JboException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-.
at com.view.CustomDCErrorHandlerImpl.handleJBO25014**(CustomDCErrorHandlerImpl.java:34)**
at com.view.CustomDCErrorHandlerImpl.reportException(CustomDCErrorHandlerImpl.java:20)
at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:437)
at oracle.adf.model.binding.DCBindingContainer.reportException(DCBindingContainer.java:485)
at oracle.adf.model.binding.DCControlBinding.reportException(DCControlBinding.java:202)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.reportException(JUCtrlActionBinding.java:2120)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1749)
at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2294)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:785)
at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:414)
..............................................................................
Error on UI

For custom error
I have created a class by extending DCErrorHandlerImpl.In this i have overridden the reportException method and the code is as follows.
@Override
public void reportException(DCBindingContainer dCBindingContainer, Exception exception) {
System.out.println("In reportException");
exception = handleJBO25014(exception);
super.reportException(dCBindingContainer, exception);
}
private JboException handleJBO25014(Exception exception) {
System.out.println("In handleJBO25014");
JboException jboEx = null;
if (exception instanceof JboException) {
jboEx = (JboException) exception;
System.out.println("jboEx : " + jboEx);
String message = exception.getMessage();
if (message.contains("JBO-25014")) {
System.out.println("message : " + message);
return new JboException("Pankti Test - Record modified by another user"); **(LINE 34)**
}
}
return jboEx;
}
I have then set the ErrorHandlerClass property of DataBinding.cpx to my custom class.

Note:
I did a sample application with just one page using a table. Here it worked properly and I get the custom error message as expected.
Also I did a sample application with just one page using a form. Here it worked properly and I get the custom error message as expected.
The problem occurs only when there is page navigation.