Wenn ich zwei Methoden aufrufen, die die gleichen Ausnahmen nacheinander auslösen können, aber der Grund der Ausnahme ist anders, wie soll ich damit umgehen?Ausnahmebehandlung Best-Practice
Sollte ich einen Versuch catch Block um jede dieser Methoden, so dass ich beide Ausnahmen auf eine andere Weise behandeln kann oder wie ich die Methode, die die Ausnahme löst, erhalten?
Als Beispiel: Ich habe diese Methode
dir = Directory.CreateDirectory(Path.Combine(My.Settings.CalibrationExcelExportPath, dirName))
Verfahren ein IOexception
werfen kann.
Als nächstes rufe ich eine Methode ExcelExport.ExportCalibrationAsync
, die eine TempFile erstellt, die auch eine IOexception
werfen kann, wenn zum Beispiel keine Tempnamen mehr frei sind.
Jetzt möchte ich die Ausnahme in einem Diff behandeln. Möglichkeit, dem Benutzer die richtigen Informationen zu geben.
Ich habe mit exception.TargetSite
versucht, aber ich bekomme beide Male Void WinIOError(Int..)
, also kann ich das nicht zur Unterscheidung verwenden.
Was ist die beste Praxis hier