const RESULT_INDEX_STATUS = 'status';
const RESULT_INDEX_EXCEPTION = 'exception';
+ /**
+ * Last thrown exception or NULL if all is fine
+ */
+ private $lastException = NULL;
+
/**
* Protected constructor
*
// Call parent constructor
parent::__construct($className);
}
+
+ /**
+ * Getter for last exception
+ *
+ * @return $lastException Last thrown exception
+ */
+ public final function getLastException () {
+ return $this->lastException;
+ }
+
+ /**
+ * Setter for last exception
+ *
+ * @param $lastException Last thrown exception
+ * @return void
+ */
+ public final function setLastException (FrameworkException $exceptionInstance) {
+ $this->lastException = $exceptionInstance;
+ }
+
+ /**
+ * Reset the last exception instance. This should be done after a "query"
+ * was completed without any errors.
+ *
+ * @return void
+ */
+ protected final function resetLastException () {
+ $this->lastException = NULL;
+ }
}
// [EOF]
*/
private $alreadyConnected = false;
- /**
- * Last exception
- */
- private $lastException = NULL;
-
/**
* Table information array
*/
return $databaseInstance;
}
- /**
- * Getter for last exception
- *
- * @return $lastException Last thrown exception
- */
- public final function getLastException () {
- return $this->lastException;
- }
-
/**
* Setter for the last read file
*
$this->lastFile = (string) $fqfn;
}
- /**
- * Reset the last exception instance. This should be done after a "query"
- * was completed without any errors.
- *
- * @return void
- */
- private final function resetLastException () {
- $this->lastException = NULL;
- }
-
/**
* Getter for last read file
*
$this->resetLastException();
} catch (PathIsNoDirectoryException $e) {
// Path not found means "table not found" for real databases...
- $this->lastException = $e;
+ $this->setLastException($e);
// So throw an SqlException here with faked error message
throw new SqlException (array($this, sprintf("Table '%s' not found", $tableName), self::DB_CODE_TABLE_MISSING), self::EXCEPTION_SQL_QUERY);
} catch (FrameworkException $e) {
// Catch all exceptions and store them in last error
- $this->lastException = $e;
+ $this->setLastException($e);
}
// Return the gathered result
$this->resetLastException();
} catch (FrameworkException $e) {
// Catch all exceptions and store them in last error
- $this->lastException = $e;
+ $this->setLastException($e);
// Throw an SQL exception
throw new SqlException(array($this, sprintf("Cannot write data to table '%s', is the table created?", $dataSetInstance->getTableName()), self::DB_CODE_TABLE_UNWRITEABLE), self::EXCEPTION_SQL_QUERY);
$this->resetLastException();
} catch (FrameworkException $e) {
// Catch all exceptions and store them in last error
- $this->lastException = $e;
+ $this->setLastException($e);
// Throw an SQL exception
throw new SqlException(array($this, sprintf("Cannot write data to table '%s', is the table created?", $dataSetInstance->getTableName()), self::DB_CODE_TABLE_UNWRITEABLE), self::EXCEPTION_SQL_QUERY);