Home Forum Nuclos Entwicklung Makros und Regeln NPE bei return aus Regel

Schlagwörter: , ,

Ansicht von 2 Beiträgen - 1 bis 2 (von insgesamt 2)
  • Autor
    Beiträge
  • #19590
    tobyase
    Teilnehmer

    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

    #19883
    caf
    Administrator

    Hallo Tobyase,

    kannst du uns bitte mal deinen Code zur Verfügung stellen?

    Vg
    Agni

Ansicht von 2 Beiträgen - 1 bis 2 (von insgesamt 2)