Ich habe diesen Code. es ist die Reihe Ausnahmefilter in der rechten Karte eines tMap
:Umgang Null Zeiger Ausnahme in Talend in OR-Anweisung
row2.method.equals("Twitter") && (
row2.last_notified.equals(null) ||
row2.frequency.equals("Everytime") ||
(row2.frequency == "Hourly" && TalendDate.diffDate(TalendDate.addDate(row2.last_notified,1,"HH"), TalendDate.parseDate("yyyy-MM-dd HH:mm:ss", TalendDate.getDate("yyyy-MM-dd HH:mm:ss")), "HH") > 0) ||
(row2.frequency == "Daily" && TalendDate.diffDate(TalendDate.addDate(row2.last_notified,1,"dd"), TalendDate.parseDate("yyyy-MM-dd HH:mm:ss", TalendDate.getDate("yyyy-MM-dd HH:mm:ss")), "dd") > 0)
)
Ich habe eine Nullpointer. Ich weiß, dass frequency
nicht null ist, ebenso wie method
. Ich weiß, dass last_notified
null ist. basierend auf meiner Logik sollten alle Zeilen mit "Twitter"
als Wert ohne last_notified
übergeben werden. Es sieht jedoch so aus, als wäre ich damit gescheitert.
Ich verstand, dass OR-Anweisungen von links nach rechts gehen. Wenn der erste Wert True
zurückkommt, dann sollte der OR SOLL zurückkehren? Was vermisse ich?
Das ist genial! ich danke dir sehr. Ich werde akzeptieren, wenn der Timer es mir erlaubt. – arcee123