Sdílet prostřednictvím


Jak: Popisovač výjimce pomocí try/catch (C# program televize)

Účel try-catch je zachytit a zpracovat výjimku generovaný kód pracovní blok.Některé výjimky mohou být zpracovány v catch bloku a problém vyřešit bez výjimky re-thrown; často jediná věc, která můžete provést se však ujistěte, že vhodné je výjimka.

Příklad

V tomto příkladu IndexOutOfRangeException není nejvhodnější výjimka: ArgumentOutOfRangeException smysl další metody protože chyba způsobena index argument předaná volající funkcí.

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);
        }
    }
}

Komentáře

Uzavřený v kódu, který způsobí výjimku try bloku.A catch prohlášení je přidán ihned po zpracování IndexOutOfRangeException, pokud k ní dojde.catch Blokovat úchyty IndexOutOfRangeException a vyvolá na odpovídající ArgumentOutOfRangeException výjimku místo.Pro volající poskytnout co nejvíce informací, zvažte zadání původní výjimce jako InnerException nové výjimky.Protože InnerException vlastnost je readonly, je nutné přiřadit v konstruktoru nové výjimky.

Viz také

Referenční dokumentace

Výjimky a zpracování výjimek (Příručka programování C#)

(C# Příručka programování) zpracování výjimek

Koncepty

Příručka programování C#