BadgerDB
 All Classes Namespaces Functions Variables Typedefs Friends Pages
Public Member Functions | Protected Attributes | List of all members
badgerdb::InvalidPageException Class Reference

An exception that is thrown when an attempt is made to access an invalid page in a file. More...

#include <invalid_page_exception.h>

Inheritance diagram for badgerdb::InvalidPageException:
badgerdb::BadgerDbException

Public Member Functions

 InvalidPageException (const PageId requested_number, const std::string &file)
 
virtual ~InvalidPageException () throw ()
 
virtual PageId page_number () const
 
virtual const std::string & filename () const
 
virtual const std::string & message () const
 
virtual const char * what () const throw ()
 

Protected Attributes

const PageId page_number_
 
const std::string filename_
 
std::string message_
 

Detailed Description

An exception that is thrown when an attempt is made to access an invalid page in a file.

Pages are considered invalid if they have not yet been allocated (an ID off the end of the file) or if they have been deleted and not yet re-allocated.

Definition at line 24 of file invalid_page_exception.h.

Constructor & Destructor Documentation

badgerdb::InvalidPageException::InvalidPageException ( const PageId  requested_number,
const std::string &  file 
)

Constructs an invalid page exception for the given requested page number and filename.

Parameters
requested_numberRequested page number.
fileName of file that request was made to.

Definition at line 15 of file invalid_page_exception.cpp.

17  : BadgerDbException(""),
18  page_number_(requested_number),
19  filename_(file) {
20  std::stringstream ss;
21  ss << "Request made for an invalid page."
22  << " Requested page " << page_number_
23  << " from file '" << filename_ << "'";
24  message_.assign(ss.str());
25 }
BadgerDbException(const std::string &msg)
virtual badgerdb::InvalidPageException::~InvalidPageException ( )
throw (
)
inlinevirtual

Destroys the exception. Does nothing special; just included to make the compiler happy.

Definition at line 40 of file invalid_page_exception.h.

40 {}

Member Function Documentation

virtual const std::string& badgerdb::InvalidPageException::filename ( ) const
inlinevirtual

Returns name of the file that caused this exception.

Definition at line 50 of file invalid_page_exception.h.

50 { return filename_; }
virtual const std::string& badgerdb::BadgerDbException::message ( ) const
inlinevirtualinherited

Returns a message describing the problem that caused this exception.

Returns
Message describing the problem that caused this exception.

Definition at line 38 of file badgerdb_exception.h.

38 { return message_; }
virtual PageId badgerdb::InvalidPageException::page_number ( ) const
inlinevirtual

Returns the requested page number that caused this exception.

Definition at line 45 of file invalid_page_exception.h.

45 { return page_number_; }
virtual const char* badgerdb::BadgerDbException::what ( ) const
throw (
)
inlinevirtualinherited

Returns a description of the exception.

Returns
Description of the exception.

Definition at line 45 of file badgerdb_exception.h.

45 { return message_.c_str(); }

Member Data Documentation

const std::string badgerdb::InvalidPageException::filename_
protected

Name of file which caused this exception.

Definition at line 61 of file invalid_page_exception.h.

std::string badgerdb::BadgerDbException::message_
protectedinherited

Message describing the problem that caused this exception.

Definition at line 64 of file badgerdb_exception.h.

const PageId badgerdb::InvalidPageException::page_number_
protected

Requested page number which caused this exception.

Definition at line 56 of file invalid_page_exception.h.


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