00001 00008 #pragma once 00009 00010 #include <string> 00011 00012 #include "wiscdb_exception.h" 00013 #include "include/types.h" 00014 00015 namespace wiscdb { 00016 00024 class InvalidPageException : public WiscDbException { 00025 public: 00033 InvalidPageException(const PageId requested_number, 00034 const std::string& file); 00035 00040 virtual ~InvalidPageException() throw() {} 00041 00045 virtual PageId page_number() const { return page_number_; } 00046 00050 virtual const std::string& filename() const { return filename_; } 00051 00052 protected: 00056 const PageId page_number_; 00057 00061 const std::string filename_; 00062 }; 00063 00064 }