ders::FileErrorException Class Reference

ErrorException class with embed fileName. More...

#include <file.hpp>

Inheritance diagram for ders::FileErrorException:

ders::ErrorException ders::Exception ders::destroyable

List of all members.

Public Member Functions

virtual sh_text getClassName () const
virtual sh_text toText () const
virtual void destroy (mem_pool &mp2)
template<class E>
E * is ()
template<class E>
const E * is () const

Public Attributes

const sh_text fileName
const error errorCode
const FileLine location
const sh_text message
const shException nested

Protected Member Functions

 FileErrorException (const FileLine &loc, const ch_rng &msg, error err, const ch_rng &fname, shException nest)
void operator delete (void *ptr, size_t size)

Static Protected Member Functions

template<class T>
static void destroy_this (T *ptr, mem_pool &mp2)

Friends

shException newFileErrorException (const FileLine &loc, const ch_rng &msg, error err, const ch_rng &fname, shException nest)


Detailed Description

ErrorException class with embed fileName.

Definition at line 133 of file file.hpp.


Constructor & Destructor Documentation

ders::FileErrorException::FileErrorException ( const FileLine loc,
const ch_rng msg,
error  err,
const ch_rng fname,
shException  nest 
) [protected]

Definition at line 279 of file file.cpp.

00280                                                     :
00281   ErrorException(loc, msg, err, nest), fileName(nt(nest.pool(), fname))
00282 {
00283 }


Member Function Documentation

sh_text ders::FileErrorException::getClassName (  )  const [virtual]

Reimplemented from ders::ErrorException.

Definition at line 285 of file file.cpp.

00286 {
00287  return nt(message.pool(), "ders::FileErrorException");
00288 }

sh_text ders::FileErrorException::toText (  )  const [virtual]

Reimplemented from ders::ErrorException.

Definition at line 290 of file file.cpp.

00291 {
00292  return text_buf(getClassName())+" ["+location.file+":"+location.line+
00293    "], errorCode="+errorCode+":\""+error_message(message.pool(), errorCode)+
00294    "\", fileName=\""+fileName+"\", message: "+message;
00295 }

virtual void ders::FileErrorException::destroy ( mem_pool mp2  )  [inline, virtual]

Reimplemented from ders::ErrorException.

Definition at line 150 of file file.hpp.

00150 { destroy_this(this, mp2); }

template<class E>
E * ders::Exception::is (  )  [inline, inherited]

Definition at line 205 of file exception.hpp.

00206 { return dynamic_cast<E*>(this); }

template<class E>
const E * ders::Exception::is (  )  const [inline, inherited]

Definition at line 208 of file exception.hpp.

00209 { return dynamic_cast<const E*>(this); }

template<class T>
void ders::destroyable::destroy_this ( T *  ptr,
mem_pool mp2 
) [inline, static, protected, inherited]

Definition at line 47 of file destroy.hpp.

00048 {
00049  assert(typeid(*ptr)==typeid(T));
00050 
00051  ptr->~T();
00052  mp2.deallocate(ptr, sizeof(T));
00053 }

void ders::destroyable::operator delete ( void *  ptr,
size_t  size 
) [inline, protected, inherited]

Definition at line 39 of file destroy.hpp.

00039 { hard_assert(false); }


Friends And Related Function Documentation

shException newFileErrorException ( const FileLine loc,
const ch_rng msg,
error  err,
const ch_rng fname,
shException  nest 
) [friend]


Member Data Documentation

Definition at line 145 of file file.hpp.

Definition at line 147 of file error.hpp.

Definition at line 77 of file exception.hpp.

const sh_text ders::Exception::message [inherited]

Definition at line 78 of file exception.hpp.

Definition at line 79 of file exception.hpp.


The documentation for this class was generated from the following files:

Generated on Tue Dec 8 11:35:33 2009 for derslib by  doxygen 1.5.5