Ich bin von einem Android-Hintergrund und beim Nachschlagen einer Methode in der Android-Entwickler-Referenz enthält die Information normalerweise, welche Ausnahmen die Methode auslösen kann (sowie die Parameter, die die Methode einnimmt und ihren Rückgabetyp). Ich habe einige Klassen in der MSDN-Bibliothek durchsucht und dies scheint hier nicht der Fall zu sein. Wie kann ich bei der Entwicklung feststellen, welche Ausnahmen eine Methode auslösen kann (wenn sie Ausnahmen auslöst)? Ein konkretes Beispiel ist die DataContext.SubmitChanges()
Methode (MSDN link), die eine SqlCeException
Ausnahme auslösen kann. Es scheint, dass es keine Möglichkeit gibt, dieses Problem anzugehen, es sei denn, es ist zufällig in der Laufzeit aufgetreten.MSDN-Bibliothek - wie kann man wissen, welche Ausnahmen eine Methode auslösen kann?
Antwort
.NET ist ein bisschen anders als Java in Ausnahmen. Es gibt keine throws
-Syntax, in der Sie angeben müssen, welche Arten von Ausnahmen von der Methode ausgelöst werden können. Jede Methode kann möglicherweise jede Art von Ausnahme auslösen. Aus diesem Grund enthält die MSDN-Dokumentation nicht immer diese Art von Daten.
Wenn Sie keine Liste der möglichen Ausnahmen auf MSDN-Seiten finden können Sie auf Websites wie stackoverflow suchen/fragen (z. B. für DataContext.SubmitChanges()
) oder einfach Ihre App testen und versuchen, die Ausnahme zu generieren, um zu überprüfen, welche Art es ist.
Es gibt kein Äquivalent zu den Würfen Schlüsselwort in .net, aber Sie können Ihre Benutzer mitteilen, welche Ausnahmen Sie Ihre Methode kennen Ihre doc-comments (C# entspricht java doc) werfen kann