Im Fehlerfall wird vom JCo eine Ausnahme (Exception) ausgegeben. Alle Exceptions die im JCo auftreten, werden an die registrierten Exception und Error Listener übergeben.
Die Anwendung muss die Ausnahmen innerhalb der Methode handleRequest() (also die Ausnahmen, die sie selbst generiert) separat verarbeiten. Die Ausnahmen aus dem Anwendungscoding werden nicht an die Listener übergeben.
Um einen solchen Listener zu definieren, legen Sie eine Klasse an, die
JCoServerExceptionListener und JCoServerErrorListener implementiert:
static class MyThrowableListener implements JCoServerErrorListener, JCoServerExceptionListener {
public void serverErrorOccurred(JCoServer jcoServer, String connectionId, Error error) { System.out.println(">>> Error occured on " + jcoServer.getProgramID() + " connection " + connectionId); error.printStackTrace(); } public void serverExceptionOccurred(JCoServer jcoServer, String connectionId, Exception error) { System.out.println(">>> Error occured on " + jcoServer.getProgramID() + " connection " + connectionId); error.printStackTrace(); } }
|
Registrieren Sie die Listener-Klasse mit server.addServerErrorListener und
server.addServerExceptionListener:
MyThrowableListener eListener = new MyThrowableListener(); server.addServerErrorListener(eListener); server.addServerExceptionListener(eListener);
|