Hallo,
ich rufe aus einer CustomRule eine Methode auf, die alle Berechnungen durchführt.
Um bei dieser Methode nun die Ausführung abzubrechen (zum Beispiel, weil ein Fehler in den Daten gefunden wurde), dann verwende ich dort (nachdem der Fehler weggeschrieben wurde) ein return;
.
Wenn dieser Code ausgefürt wird und auf den Fehler trifft, dann erhalte ich folgende Exception:
org.nuclos.common2.exception.CommonFatalException: java.lang.NullPointerException
at org.nuclos.client.masterdata.MasterDataDelegate.executeBusinessRules(MasterDataDelegate.java:207)
at org.nuclos.client.masterdata.MasterDataCollectController.delegateBusinessRulesExecution(MasterDataCollectController.java:1018)
at org.nuclos.client.masterdata.MasterDataCollectController.delegateBusinessRulesExecution(MasterDataCollectController.java:1)
at org.nuclos.client.common.NuclosCollectController$20$1.doInBackground(NuclosCollectController.java:1555)
at org.nuclos.client.common.NuclosCollectController$20$1.doInBackground(NuclosCollectController.java:1)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
Hier ist der Stacktrace zuende, es kommt wirklich nichts weiter. Was mich auch verwirrt, ist dass in dem Stacktrace auch meine CustomRule gar nicht auftaucht und da ist auch nirgends irgendwas null
. Der Fehler kommt auch nicht direkt an der Stelle, wo das return;
aufgerufen wird, sondern erst, wenn die custom()
zuende ist. Die Exception kommt nicht, wenn keine Diskrepanzen in den Daten gefunden werden und der Code vollständig (also ohne das return;
) durchläuft.
Ist das einem von euch auch schon mal passiert oder weiß jemand, wo der Fehler herkommt oder was ich dagegen tun kann?
Viele Grüße,
TC