Sdílet prostřednictvím


Postupy: Jak implementovat vstupně-výstupních Try..Catch bloky v jazyce Visual Basic

Následující příklad kódu implementuje blok Try...Catch, který zpracovává Exception, IOException a všechny výjimky, které jsou odvozeny z IOException.

Příklad

Tento příklad postupuje od nejvíce specifických k nejméně specifickým; jednotlivé výjimka jsou testovány.

Tento příklad kódu je také dostupný jako IntelliSense fragment kódu. V dialogu pro výběr fragmentů kódu, je fragment kódu umístěn v File systém - Processing Drives, Folders, and Files. Další informace naleznete v tématu How to: Insert IntelliSense Code Snippets.

Try
    ' Add code for your I/O task here. 
Catch dirNotFound As System.IO.DirectoryNotFoundException
    ' Code to handle DirectoryNotFoundException.
Catch fileNotFound As System.IO.FileNotFoundException
    ' Code to handle FileNotFoundException.
Catch pathTooLong As System.IO.PathTooLongException
    ' Code to handle PathTooLongException.
Catch ioEx As System.IO.IOException
    ' Code to handle IOException.
Catch security As System.Security.SecurityException
    ' Code to handle SecurityException.
Catch ex As Exception
    ' Rethrow exception if anything else has occurred.
    Throw ex
Finally
    ' Dispose of any resources you used or opened in the Try block. 
End Try

Probíhá kompilace kódu

Přidejte kód, který chcete provést do bloku Try.

Robustní programování

Použít tento blok kódu jako výchozí bod pro obalení datových operací v příkazu Try...Catch. Tento blok Try...Catch je navržen tak, aby zachytit a znovu vyvolal všechny výjimky. Toto nemusí být správná volba pro váš projekt. Podrobné informace o volbách zpracování vyjímek naleznete v Best Practices for Using IntelliSense Code Snippets.

Můžete omezit pravděpodobnost výskytu vyjímek použitím ovládacího prvku modelu Windows Forms, jako například OpenFileDialog Component (Windows Forms) nebo SaveFileDialog Component (Windows Forms), které omezují volbu uživatele na validní názvy souboru. Vlastnost FileInfo.Exists může zkontrolovat zda soubor existuje před tím, než se pokusíte o jeho otevření. Používání těchto ovládacích prvků a tříd není neprůstřelné. Systém souborů se může změnit v mezičase, kdy uživatel vybere soubor a kdy se spustí kód. Zpracování výjimek proto bude téměř vždy požadováno při práci se soubory.

Zabezpečení

Pro mnoho úkolů spojených se soubory, sestavení vyžaduje úroveň oprávnění udělené třídou FileIOPermission. Používáte-li kontext s částečnou důvěryhodnosti, kód může vyvolat výjimku kvůli nedostatečnému oprávnění. Další informace naleznete v tématu Základy zabezpečení přístupu kódu. Uživatel také potřebuje přístup k souboru a měl by existovat. Další informace naleznete v tématu Přehled technologie ACL.

Neprovádějte rozhodnutí o obsahu souboru na základě názvu přípony souboru. Například soubor Form1.vb nemusí být zdrojový soubor Visual Basic.

Viz také

Úkoly

Postupy: Jak filtrovat vyjímky v Catch bloku v jazyce Visual Basic

Postupy: Kontrola k výjimce vnitřní výjimce (Visual Basic)

Odkaz

Try...Catch...Finally Statement (Visual Basic)

Koncepty

Best Practices for Using IntelliSense Code Snippets

Přehled strukturovaného zpracování výjimek pro jazyk Visual Basic

Volba použití strukturovaných či nestrukturovaných (Visual Basic) zpracování výjimek

Další zdroje

Úkoly (Visual Basic) zpracování výjimek