Sdílet prostřednictvím


Použití filtrovaných výjimek uživatelského režimu v obslužné rutině

Visual Basic v současné době podporuje uživatelem filtrované výjimky. Obslužné rutiny uživatelem filtrovaných výjimek zachycují a zpracovávají výjimky založené na požadavcích, které zadáte ve výjimce. Tyto obslužné rutiny událostí používají příkaz Catch s klíčovým slovem When.

Tato technika je užitečná, když určitý objekt výjimky odpovídá více chybám. V tomto případě objekt obvykle obsahuje vlastnost, která obsahuje zvláštní chybový kód, jež je přidružený k chybě. Můžete použít vlastnost chybového kódu v příkazu pro výběr pouze konkrétní chyby, kterou chcete zpracovat v dané klauzuli Catch.

Následující příklad v jazyce Visual Basic ukazuje příkaz Catch/When.

Try
      'Try statements.
   Catch When Err = VBErr_ClassLoadException
      'Catch statements.
End Try

Výraz klauzule filtrované uživatelem není žádným způsobem omezen. Pokud dojde k výjimce v průběhu provádění výrazu filtrovaném uživatelem, pak je tato výjimka zahozena a filtrovaný výraz je považován za vyhodnocení jako NEPRAVDA. V tomto případě modul CLR pokračuje ve vyhledávání obslužné rutiny pro současnou výjimku.

Kombinace specifických výjimek a klauzulí v uživatelsky filtrovaném režimu

Výpis catch může obsahovat jak zvláštní výjimku, tak i klauzule filtrované uživatelem. Runtime nejprve testuje specifickou výjimku. Pokud je specifická výjimka úspěšná, pak runtime spustí uživatelský filtr. Obecný filtr může obsahovat odkaz na proměnnou uvedenou ve filtru třídy. Všimněte si, že pořadí dvou klauzulí filtru nemůže být změněno.

Následující příklad jazyka Visual Basic ukazuje specifickou výjimku ClassLoadException v příkazu Catch, stejně jako klauzuli filtrovanou uživatelem, které používá klíčové slovo When.

Try
      'Try statements.
   Catch cle As ClassLoadException When cle.IsRecoverable()
      'Catch statements.
End Try

Viz také

Úkoly

Postupy: Použití bloku Try/Catch pro zachycení výjimek

Postupy: Použít specifické výjimky v bloku Catch

Koncepty

Doporučené postupy pro zpracování výjimek

Další zdroje

Základy zpracování výjimek