try KeyNotFoundException

Ich möchte mit Try einen KeyNotFoundException-Fehler abfangen, wie es in der Beispielsdatei: “DictionaryExample.xojo_binary_project” gezeigt.

  Dim url As Text
  Try
    url = Bookmarks.Value(name)
  Catch e As KeyNotFoundException
    Return
  End Try

Sowohl bei meinem, wie auch dem Xojo-Beispielsprogramm hält er mit einer KeyNotFoundException an.

Woran kann das liegen?

Wenn Du davon sprichst das es im Debugger anhlt, dann ist das richtig so.

Das kannst du beseitigen, indem du vor den Code ein

#Pragma BreakOnExceptions False

setzt. Wenn’s danach in der Methode weitergeht, besser gefolgt von

#Pragma BreakOnExceptions True

EDIT: Ansonsten hat das seine Richtigkeit, wie Sascha schon schrieb, weil die IDE standardmäßig bei einer Exception einen Break im Debugger auslöst, damit programmierer die verursachende Stelle einfacher finden kann.

Ach so, vielen Dank.

Eigentlich möchte ich nur verhindern, dass es einen Fehler gibt wenn ein Key nicht vorhanden ist. Ich dachte ursprünglich, dass man das irgendwie mit If…Then abfragt.

Ich hab jetzt diese Version genommen:
url = Bookmarks.Value.Lookup(name,"")