Sdílet prostřednictvím


Třída a vlastnosti výjimky

Třída Exception je základní třída, ze které výjimky dědí. Například InvalidCastException hierarchie tříd je následující:

Object
  Exception
    SystemException
      InvalidCastException

Třída Exception má následující vlastnosti, které pomáhají usnadnit porozumění výjimce.

Název vlastnosti Popis
Data Objekt IDictionary , který obsahuje libovolná data v párech klíč-hodnota.
HelpLink Může obsahovat adresu URL (nebo URN) k souboru nápovědy, který poskytuje rozsáhlé informace o příčině výjimky.
InnerException Tuto vlastnost lze použít k vytvoření a zachování řady výjimek během zpracování výjimek. Můžete ji použít k vytvoření nové výjimky, která obsahuje dříve zachycené výjimky. Původní výjimku lze zachytit druhou výjimkou ve InnerException vlastnosti, což umožňuje kód, který zpracovává druhou výjimku, aby prozkoumal další informace. Předpokládejme například, že máte metodu, která obdrží argument, který je nesprávně naformátovaný. Kód se pokusí přečíst argument, ale vyvolá se výjimka. Metoda zachytí FormatExceptionvýjimku a vyvolá výjimku . Chcete-li zlepšit schopnost volajícího určit důvod, proč je vyvolán výjimka, je někdy žádoucí, aby metoda zachytila výjimku vyvolanou rutinou pomocné rutiny a pak vyvolá výjimku indikuje, že došlo k chybě. Lze vytvořit novou a smysluplnější výjimku, kde je možné nastavit odkaz na vnitřní výjimku na původní výjimku. Tuto výjimku je pak možné volajícímu vyvolat výjimku. Všimněte si, že pomocí této funkce můžete vytvořit řadu propojených výjimek, které končí výjimkou, která byla vyvolán jako první.
Message Poskytuje podrobnosti o příčině výjimky.
Source Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu.
StackTrace Obsahuje trasování zásobníku, které lze použít k určení, kde došlo k chybě. Trasování zásobníku obsahuje název zdrojového souboru a číslo řádku programu, pokud jsou k dispozici informace o ladění.

Většina tříd, které dědí z Exception neimplementují další členy nebo poskytují další funkce; jednoduše dědí z Exception. Proto nejdůležitější informace o výjimce najdete v hierarchii tříd výjimek, název výjimky a informace obsažené v výjimce.

Doporučujeme hodit a zachytit pouze objekty, které jsou odvozeny z Exception, ale můžete vyvolat jakýkoli objekt odvozený z Object třídy jako výjimku. Všimněte si, že ne všechny jazyky podporují vyvolávání a zachytávání objektů, které nejsou odvozeny od Exception.

Viz také