|
REQUIREMENT admin.errorcodes |
| Type | NEW |
| Priority | LOW |
| Status | CLOSED |
| Topic | XmlBlaster supports well defined error codes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Des cription |
XmlBlaster throws only one exception namely the XmlBlasterException. To distinguish the errors, xmlBlaster supports an hierarchical error code schema. The following drawing illustrates some exception situations:
We support a set of top level error code categories:
Examples for the error codes errorCode:
An XmlBlasterException contains a set of attributes describing an exception, all of type String:
Examples for location:
All ID's could be made available in a java.util.ResourceBundle, the client or server can display a localized text for the errorCode in this case. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Example XML |
An xml representation is
XmlBlasterException.toXml():
============================
<exception id='user.publish.qos'>
<errorCode>
<user>
<publish>
<qos/>
</publish>
</user>
</errorCode>
<location>
<node>
<heron>
<client>
<joe/>
</client>
</heron>
</node>
</location>
<message><![CDATA[Invalid publish]]></message>
<stackTrace/>
</exception>
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Example JAVA |
// Example showing how to convert an Exception (as a server developer)
import org.xmlBlaster.util.XmlBlasterException;
import org.xmlBlaster.util.def.ErrorCode;
try {
... // Throws exceptions
}
catch (CorbaException ex) {
throw new XmlBlasterException(glob,
ErrorCode.COMMUNICATION_NOCONNECTION_POLLING,
this.getClass().getName(),
"No callback connection to client joe",
ex);
}
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Example JAVA |
//=====================================================================
// Example showing usage by a client
try {
... // Throws exceptions
}
catch (XmlBlasterException ex) {
// Display full stack trace for internal exceptions
// and moderate information for user exceptions with getMessage():
log4j.error(ex.getMessage());
}
//=====================================================================
//=====================================================================
// For user exceptions the output could look like this:
errorCode=[user.configuration]
node=[xmlBlaster]
location=[ConnectionsHandler-client:client/joe]
message=[Please provide a public session ID]
//=====================================================================
//=====================================================================
// For internal exceptions the output could look like this:
node=[xmlBlaster]
location=[XmlBlasterAccess-client/joe]
java.lang.NullPointerException:
stackTrace=java.lang.NullPointerException:
at org.xmlBlaster.client.XmlBlasterAccess.connect(XmlBlasterAccess.java:181)
at HelloWorld2(HelloWorld2.java:28)
at HelloWorld2.main(HelloWorld2.java:76)
errorCode=internal.nullpointer message=Connection failed
at org.xmlBlaster.util.XmlBlasterException.convert(XmlBlasterException.java:551)
at org.xmlBlaster.util.XmlBlasterException.convert(XmlBlasterException.java:540)
at org.xmlBlaster.client.XmlBlasterAccess.connect(XmlBlasterAccess.java:211)
at HelloWorld2(HelloWorld2.java:28)
at HelloWorld2.main(HelloWorld2.java:76)
versionInfo=version=0.844,os.name=Linux,os.version=2.4.19-4GB,
java.vm.vendor=IBM Corporation,java.vm.version=1.4.0,os.arch=x86,
build.timestamp=03/24/2003 11:46 PM,
build.java.vendor=IBM Corporation,build.java.version=1.4.0
errorCode description=A null pointer is an xmlBlaster internal programming error,
please post it to the mailing list.
//=====================================================================
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Configure |
These parameters allow to configure the dispatch plugin.
NOTE: Configuration parameters are specified on command line (-someValue 17) or in the
xmlBlaster.properties file (someValue=17). See requirement "util.property" for details. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Todo |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| See REQ | admin.errorcodes.listing | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| See API | org.xmlBlaster.util.def.ErrorCode | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| See API | org.xmlBlaster.util.XmlBlasterException |
This page is generated from the requirement XML file xmlBlaster/doc/requirements/admin.errorcodes.xml