#include <Exception.h>
Inheritance diagram for zypp::Exception:
Public Types | |
typedef exception_detail::CodeLocation | CodeLocation |
Public Member Functions | |
Exception () | |
Default ctor. | |
Exception (const std::string &msg_r) | |
Ctor taking a message. | |
virtual | ~Exception () throw () |
Dtor. | |
const CodeLocation & | where () const |
Return CodeLocation. | |
void | relocate (const CodeLocation &where_r) const |
Exchange location on rethrow. | |
const std::string & | msg () const |
Return the message string provided to the ctor. | |
std::string | asString () const |
Error message provided by dumpOn as string. | |
std::string | asUserString () const |
Translated error message as string suitable for the user. | |
Static Public Member Functions | |
static std::string | strErrno (int errno_r) |
Make a string from errno_r. | |
static std::string | strErrno (int errno_r, const std::string &msg_r) |
Make a string from errno_r and msg_r. | |
static void | log (const Exception &excpt_r, const CodeLocation &where_r, const char *const prefix_r) |
Drop a logline on throw, catch or rethrow. | |
Protected Member Functions | |
virtual std::ostream & | dumpOn (std::ostream &str) const |
Overload this to print a proper error message. | |
Private Member Functions | |
virtual const char * | what () const throw () |
Return message string. | |
std::ostream & | dumpError (std::ostream &str) const |
Called by std::ostream & operator<< . | |
Private Attributes | |
CodeLocation | _where |
std::string | _msg |
Friends | |
std::ostream & | operator<< (std::ostream &str, const Exception &obj) |
Exception offers to store a message string passed to the ctor. Derived classes may provide additional information. Overload dumpOn to provide a proper error text.
ZYPP_THROW
and ZYPP_RETHROW
will adjust the code location information stored in the Exception. All three macros will drop a line in the logfile.
43 try 44 { 45 try 46 { 47 ZYPP_THROW( Exception("Something bad happened.") ); 48 } 49 catch ( Exception & excpt ) 50 { 51 ZYPP_RETHROW( excpt ); 52 } 53 54 } 55 catch ( Exception & excpt ) 56 { 57 ZYPP_CAUGHT( excpt ); 58 }
Main.cc(main):47 THROW: Main.cc(main):47: Something bad happened. Main.cc(main):51 RETHROW: Main.cc(main):47: Something bad happened. Main.cc(main):57 CAUGHT: Main.cc(main):51: Something bad happened.
Definition at line 114 of file Exception.h.
|
Definition at line 119 of file Exception.h. |
|
Default ctor. Use ZYPP_THROW macros to throw exceptions. Definition at line 44 of file Exception.cc. |
|
Ctor taking a message. Use ZYPP_THROW macros to throw exceptions. Definition at line 47 of file Exception.cc. |
|
Dtor.
Definition at line 51 of file Exception.cc. |
|
Return CodeLocation.
Definition at line 135 of file Exception.h. References _where. |
|
Exchange location on rethrow.
Definition at line 139 of file Exception.h. References _where. |
|
Return the message string provided to the ctor.
Definition at line 147 of file Exception.h. References _msg. Referenced by zypp::target::hal::HalException::dumpOn(), and zypp::media::MediaCurl::getFileCopy(). |
|
Error message provided by dumpOn as string.
Definition at line 54 of file Exception.cc. References dumpOn(), and zypp::solver::detail::str. Referenced by zypp::FailedSourcesRestoreException::append(). |
|
Translated error message as string suitable for the user.
Definition at line 61 of file Exception.cc. References _, dumpOn(), and zypp::solver::detail::str. Referenced by zypp::FailedSourcesRestoreException::append(), zypp::target::rpm::convertV3toV4(), zypp::FailedSourcesRestoreException::dumpOnTranslated(), zypp::target::rpm::RpmDb::getPackages(), zypp::target::RpmRemovePackageReceiver::problem(), zypp::target::RpmInstallPackageReceiver::problem(), and zypp::target::rpm::RpmDb::rebuildDatabase(). |
|
|
Make a string from errno_r.
Definition at line 81 of file Exception.cc. References zypp::str::strerror(). Referenced by strErrno(). |
|
Make a string from errno_r and msg_r.
Definition at line 84 of file Exception.cc. References strErrno(). |
|
Drop a logline on throw, catch or rethrow. Used by ZYPP_THROW macros macros. Definition at line 91 of file Exception.cc. References INT. Referenced by zypp::_ZYPP_CAUGHT(), zypp::_ZYPP_RETHROW(), and zypp::_ZYPP_THROW(). |
|
Return message string.
Definition at line 179 of file Exception.h. References _msg. |
|
Called by Prints CodeLocation and the error message provided by dumpOn. Definition at line 74 of file Exception.cc. References _where, and dumpOn(). Referenced by zypp::operator<<(). |
|
Stream output Definition at line 77 of file Exception.cc. |
|
Definition at line 175 of file Exception.h. Referenced by dumpError(), relocate(), and where(). |
|
Reimplemented in zypp::media::MediaBadUrlException, zypp::media::MediaCurlException, and zypp::media::MediaCurlSetOptException. Definition at line 176 of file Exception.h. |