+/***************************************************************/
+/*!
+ *\brief Standard constructor of exception base class.
+ */
+tape_block::exception::exception(){
+}
+
+/***************************************************************/
+/*!
+ *\brief Standard desctructor.
+ */
+tape_block::exception::~exception(){
+}
+
+/***************************************************************/
+/*!
+ *\brief Get pointer to erroneous tape_block
+ *\return A pointer to a tape_block instance.
+ *\note The user has to take care to free the instance contained
+ * in objects of classes supporting this method.
+ */
+tape_block * tape_block::exception::get_block(){
+ return m_broken_block;
+}
+
+/***************************************************************/
+/*!
+ *\brief Constructor
+ */
+tape_block::checksum_error_exception::
+checksum_error_exception (tape_block * broken_block){
+ this->m_broken_block=broken_block;
+}
+
+/***************************************************************/
+/*!
+ *\brief Constructor
+ */
+tape_block::eof_illegal_exception::
+eof_illegal_exception (tape_block * broken_block){
+ this->m_broken_block=broken_block;
+}
+
+/***************************************************************/
+/*!
+ *\brief Constructor
+ *\param bytes_consumed Amount of bytes read while looking
+ * for a block.
+ */
+tape_block::eof_legal_exception::
+eof_legal_exception(int bytes_consumed){
+ this->m_broken_block=NULL;
+ this->bytes_consumed=bytes_consumed;
+}
+
+/***************************************************************/
+/*!
+ *\brief Get amount of consumed data before EOF came along.
+ *\return Amound of bytes read from fd while looking for
+ * new block or EOF.
+ */
+int tape_block::eof_legal_exception::get_consumed(){
+ return bytes_consumed;
+}
+
+/***************************************************************/
+/*!
+ *\brief Constructor
+ */
+tape_block::io_error_exception::
+io_error_exception(){
+ this->m_broken_block=NULL;
+}
+
+
+
+
+
+