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