War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Gewusst wie: Behandeln einer Ausnahme mit try/catch (C#-Programmierhandbuch)
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Gewusst wie: Behandeln einer Ausnahme mit try/catch (C#-Programmierhandbuch)

Der Zweck eines try-catch-Blocks ist das Abfangen und Behandeln einer Ausnahme, die durch Arbeitscode generiert wurde. Einige Ausnahmen können in einem catch-Block behandelt werden, sodass das Problem behoben ist und die Ausnahme nicht wieder ausgelöst wird. Meistens können Sie jedoch nur sicherstellen, dass eine passendere Ausnahme ausgelöst wird.

In diesem Beispiel ist IndexOutOfRangeException nicht die geeignetste Ausnahme: ArgumentOutOfRangeException ist für die Methode sinnvoller, da der Fehler durch das vom Aufrufer übergebene index-Argument verursacht wird.


class TestTryCatch
{
    static int GetInt(int[] array, int index)
    {
        try
        {
            return array[index];
        }
        catch (System.IndexOutOfRangeException e)  // CS0168
        {
            System.Console.WriteLine(e.Message);
            // Set IndexOutOfRangeException to the new exception's InnerException.
            throw new System.ArgumentOutOfRangeException("index parameter is out of range.", e);
        }
    }
}


Der Code, der eine Ausnahme auslöst, ist im try-Block eingeschlossen. Eine catch-Anweisung wird unmittelbar anschließend hinzugefügt, um IndexOutOfRangeException zu behandeln, wenn sie auftritt. Der catch-Block behandelt die IndexOutOfRangeException und löst stattdessen die passendere ArgumentOutOfRangeException-Ausnahme aus. Um dem Aufrufer möglichst viele Informationen bereitzustellen, sollten Sie die ursprüngliche Ausnahme als InnerException der neuen Ausnahme angeben. Da die InnerException-Eigenschaft schreibgeschützt ist, müssen Sie sie im Konstruktor der neuen Ausnahme zuweisen.

Anzeigen:
© 2015 Microsoft