Kód Ext except

Z CHWiki

Přejít na: navigace, hledání

[editovat] Výjimky EXT knihovny

Zde je definice několika výjimek používaných v další EXT kódech. Hlavičkový soubor připojujte třeba takto:

#include "extexcept"

Tyto výjimky se zavádí pro zjednodušení pojmenovávání problémů. Všechny (access_denied a object_not_exists) jsou přímými potomky ext::exception, která je potomkem std::runtime_error, což je potomek std::exception, tzn. jejich zpracování by nemělo narušovat klasickou hierarchii.

[editovat] Zdrojový kód

[extexcept]

#ifndef EXTEXCEPT
#define EXTEXCEPT

#include <stdexcept>

namespace ext {
   
   // ext::exception
   // - base class for all ext exceptions
   
   class exception : public std::runtime_error {
       public:
           explicit exception (const std::string &  __arg)
               : std::runtime_error (__arg) {};
   };
   
   // ext::access_denied
   // - is thrown when there is access denied to some system resource
   
   class access_denied : public exception {
       public:
           explicit access_denied (const std::string &  __arg)
               : ext::exception (__arg) {};
   };

   // ext::object_not_exists
   // - is thrown when requested object doesn't exists

   class object_not_exists : public exception {
       public:
           explicit object_not_exists (const std::string &  __arg)
               : ext::exception (__arg) {};
   };
};

#endif