Sowohl try/rescue
als auch try/catch
sind Fehlerbehandlungstechniken in Elixir. Entsprechend der corresponding chapter in der Einführung führen.Elixier - Versuch/Fang gegen Versuch/Rettung?
Fehler können
throw
undcatch
sind reserviert für Situationen, in denen es nicht möglich ist, einen Wert abrufen, es sei denn durch die Verwendung mit demtry/rescue
KonstruktAuf der anderen Seite, gerettet werden
throw
undcatch
.
Doubts
ich ein kurzes Verständnis habe, dass rescue
für Fehler ist. Während catch
ist für jeden Wert.
jedoch
- Wann sollte ich Verwendung der Fehlerbehandlungsmechanismen in Elixir machen?
- Was sind die Unterschiede zwischen ihnen im Detail?
- Wie sollte ich einen auswählen, der in einem bestimmten Anwendungsfall verwendet wird?
- Was genau sind 'die Situationen, in denen es nicht möglich ist, einen Wert abzurufen, außer mit
throw
undcatch
'?
Sie sollten sie überhaupt nicht verwenden;) Es ist kein Java, dass Sie alle Fehler versuchen/fangen wollen. Sie sollten Supervisor verwenden, wenn ein Fehler aufgetreten ist, um Ihre App stabil zu machen, oder verwenden Sie die Raise, wenn ein Fehler auftritt. – PatNowak
Mögliches Duplikat von [Welche Situationen erfordern Wurf/Fang im Elixier?] (Http://stackoverflow.com/questions/36036480/which-situations-require-throw-catch-in-elixir) –