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
JCO.ServerExceptionListener und JCO.ServerStateChangedListener implementiert:
public class MyExceptionAndErrorListener implements JCO.ServerExceptionListener, JCO.ServerErrorListener {
public void serverExceptionOccurred(JCO.Server server, Exception ex) { System.out.println("Exception in server " + server.getProgID() + ":\n" + ex); ex.printStackTrace(); } public void serverErrorOccurred(JCO.Server server, Error er) { System.out.println("Error in server " + server.getProgID() + ":\n" + er); er.printStackTrace(); } } |
Registrieren Sie die Listener-Klasse mit JCO.addServerErrorListener und
JCO.addServerExceptionListener:
public class SecondExample extends FirstExample { public static void main(String[] args) { MyExceptionAndErrorListener l = new MyExceptionAndErrorListener(); JCO.addServerErrorListener(l); JCO.addServerExceptionListener(l); FirstExample.startServers() ; } } |