[gelöst] Fehlerhandling für DotNet-Objekte

15. November 2019 10:39

Hallo,

bei uns ist gestern ein Fehler mit recht großer Tragweite aufgetreten, den ich für die Zukunft gerne vermeiden möchte. Ursache war der Funktionsaufruf getValue() des DotNet-Objekts "Array".
Der zu holende Wert hatte mehr als 1024 Zeichen und so warf unser DotNet Array natürlich einen Fehler.
Aus anderen Programmiersprachen kenne ich TRY und CATCH. So etwas finde ich in Nav 2009 aber nicht. Gibt es das nicht oder habe ich nur nicht richtig gesucht?

Viele Grüße,
Uta
Zuletzt geändert von UGo am 25. Februar 2021 13:20, insgesamt 1-mal geändert.

Re: Gibt es in Nav 2009 ein Fehlerhandling für DotNet-Objekt

15. November 2019 10:56

Das gibt es in dieser Form nicht. Aber vielleicht kannst du dir dein Objekt in einer Codeunit aufbauen, und die mit IF CODEUNIT.RUN dann abfangen, falls sie in einen Fehler läuft.

Re: Gibt es in Nav 2009 ein Fehlerhandling für DotNet-Objekt

15. November 2019 11:41

Hallo McLane,

Du meinst also neue CodeUnit, die eine Zeile in die OnRun()-Funktion rein und mit IF meineCodeunit.RUN() aufrufen. Das ist zwar etwas von hinten durch die Brust ins Auge, würde aber das Problem lösen. Vielen Dank!

Viele Grüße,
UGo

Re: Gibt es in Nav 2009 ein Fehlerhandling für DotNet-Objekt

15. November 2019 12:52

UGo hat geschrieben:...Das ist zwar etwas von hinten durch die Brust ins Auge, würde aber das Problem lösen....

und ist in NAV 2009 defacto die einzige Methode ein TryCatch zu implemtentieren. Ab 2016/17 gibt es dann TryFunctions.

Es kann jedoch passieren, dass dotnet einen harten Fehler wirft, der auch durch die CU nicht gefangen wird. Einfach ausprobieren.

Re: Gibt es in Nav 2009 ein Fehlerhandling für DotNet-Objekt

15. November 2019 13:08

ok, dankeschön!