diff --git a/lib/db.php b/lib/db.php index 080e895e35..cd96bcf9d3 100644 --- a/lib/db.php +++ b/lib/db.php @@ -568,10 +568,6 @@ class OC_DB { self::raiseExceptionOnError($definition,'Failed to parse the database definition'); - // Die in case something went wrong - if( $definition instanceof MDB2_Schema_Error ) { - OC_Template::printErrorPage( $definition->getMessage().': '.$definition->getUserInfo() ); - } if(OC_Config::getValue('dbtype', 'sqlite')==='oci') { unset($definition['charset']); //or MDB2 tries SHUTDOWN IMMEDIATE $oldname = $definition['name']; @@ -921,7 +917,7 @@ class OC_DB { } } /** - * check if a result is an error, writes a log entry and throws an exception, works with MDB2 and PDOException + * check if a result is an error and throws an exception, works with MDB2 and PDOException * @param mixed $result * @param string message * @return void @@ -934,7 +930,7 @@ class OC_DB { } else { $message .= ', Root cause:' . self::getErrorMessage($result); } - throw new DatabaseException($message, getErrorCode($result)); + throw new DatabaseException($message, self::getErrorCode($result)); } } diff --git a/lib/template.php b/lib/template.php index 01f0fc28b6..ae9ea18744 100644 --- a/lib/template.php +++ b/lib/template.php @@ -547,7 +547,7 @@ class OC_Template{ $error_msg = '['.$exception->getCode().'] '.$error_msg; } $hint = $exception->getTraceAsString(); - while ($exception = $exception->previous()) { + while (method_exists($exception,'previous') && $exception = $exception->previous()) { $error_msg .= '
Caused by: '; if ($exception->getCode()) { $error_msg .= '['.$exception->getCode().'] ';