diff options
-rw-r--r-- | lib/private/SetupCheck/SetupCheckManager.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/private/SetupCheck/SetupCheckManager.php b/lib/private/SetupCheck/SetupCheckManager.php index b8b6cfa11e7..8f4efa6794b 100644 --- a/lib/private/SetupCheck/SetupCheckManager.php +++ b/lib/private/SetupCheck/SetupCheckManager.php @@ -30,6 +30,7 @@ use OC\AppFramework\Bootstrap\Coordinator; use OCP\Server; use OCP\SetupCheck\ISetupCheck; use OCP\SetupCheck\ISetupCheckManager; +use OCP\SetupCheck\SetupResult; use Psr\Log\LoggerInterface; class SetupCheckManager implements ISetupCheckManager { @@ -46,7 +47,12 @@ class SetupCheckManager implements ISetupCheckManager { /** @var ISetupCheck $setupCheckObject */ $setupCheckObject = Server::get($setupCheck->getService()); $this->logger->debug('Running check '.get_class($setupCheckObject)); - $setupResult = $setupCheckObject->run(); + try { + $setupResult = $setupCheckObject->run(); + } catch (\Throwable $t) { + $setupResult = SetupResult::error("An exception occured while running the setup check:\n$t"); + $this->logger->error('Exception running check '.get_class($setupCheckObject).': '.$t->getMessage(), ['exception' => $t]); + } $setupResult->setName($setupCheckObject->getName()); $category = $setupCheckObject->getCategory(); $results[$category] ??= []; |