Browse Source

Fix invalid usage of \Exception::getResult

Only OCS exceptions have a getResult method. Any other exception will
cause another error due to this invalid method call.

This splits the catch into a specific one for OCS and then a generic one
for anything else that can't be handled.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Christoph Wurst 3 years ago
parent
commit
94a95ffceb
1 changed files with 7 additions and 1 deletions
  1. 7 1
      ocs/v1.php

+ 7 - 1
ocs/v1.php

@@ -67,9 +67,15 @@ try {
 	OC_API::setContentType();
 	http_response_code(405);
 	exit();
-} catch (Exception $ex) {
+} catch (\OC\OCS\Exception $ex) {
 	OC_API::respond($ex->getResult(), OC_API::requestedFormat());
 	exit();
+} catch (Throwable $ex) {
+	OC::$server->getLogger()->logException($ex);
+
+	OC_API::setContentType();
+	http_response_code(500);
+	exit();
 }
 
 /*