From 7854bf3419b9096e7e82b3c3b108854f7eeaab31 Mon Sep 17 00:00:00 2001
From: Marc Egger <marc.egger@uzh.ch>
Date: Tue, 6 Oct 2020 14:52:08 +0200
Subject: [PATCH] Revert "Revert "remove new error catch syntax with '|' since
 gitlab runner PHP does not support""

This reverts commit ec46cdf0
---
 extension/Classes/Core/Exception/AbstractException.php |  4 +++-
 extension/Classes/Core/Report/ColumnScript.php         | 10 ++++++++--
 extension/NoT3Page/index.php                           |  4 +++-
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/extension/Classes/Core/Exception/AbstractException.php b/extension/Classes/Core/Exception/AbstractException.php
index f43e0edfe..1b8827a1a 100644
--- a/extension/Classes/Core/Exception/AbstractException.php
+++ b/extension/Classes/Core/Exception/AbstractException.php
@@ -175,7 +175,9 @@ class AbstractException extends \Exception {
                     $arrMerged[ERROR_MESSAGE_TO_DEVELOPER] = QuickFormQuery::buildInlineReport(\UserReportException::$report_uid,
                             \UserReportException::$report_pathFileName,  \UserReportException::$report_bodytext,
                             \UserReportException::$report_header) . $arrMerged[ERROR_MESSAGE_TO_DEVELOPER];
-                } catch (\Error | \Exception $e) {
+                } catch (\Error $e) {
+                    $arrMerged[ERROR_MESSAGE_TO_DEVELOPER] .= "<br>(inline report editor not available)";
+                } catch (\Exception $e) {
                     $arrMerged[ERROR_MESSAGE_TO_DEVELOPER] .= "<br>(inline report editor not available)";
                 }
 
diff --git a/extension/Classes/Core/Report/ColumnScript.php b/extension/Classes/Core/Report/ColumnScript.php
index 9305f9c1f..85b1deaaf 100644
--- a/extension/Classes/Core/Report/ColumnScript.php
+++ b/extension/Classes/Core/Report/ColumnScript.php
@@ -64,7 +64,9 @@ class ColumnScript {
                 // this will be caught bellow
                 throw new \Exception('Include failed.');
             }
-        } catch (\Exception | \Error $e) {
+        } catch (\Exception $e) {
+            Thrower::userReportException('Error during reading script file.', "Error message:\n" . $e->getMessage());
+        } catch (\Error $e) {
             Thrower::userReportException('Error during reading script file.', "Error message:\n" . $e->getMessage());
         }
 
@@ -76,7 +78,11 @@ class ColumnScript {
         try {
             $return = call_user_func_array($param[TOKEN_FUNCTION_CALL], [$param, new ScriptFunctions()]);
             $output = ob_get_clean();
-        } catch (\Exception | \Error $e) {
+        } catch (\Exception $e) {
+            ob_end_clean();
+            Thrower::userReportException('Function execution failed.',
+                "Error message:\n" . $e->getMessage() . "\n\nFunction: " . $param[TOKEN_FUNCTION_CALL] . "\n\nParameters:\n" . print_r($param,true));
+        } catch (\Error $e) {
             ob_end_clean();
             Thrower::userReportException('Function execution failed.',
                 "Error message:\n" . $e->getMessage() . "\n\nFunction: " . $param[TOKEN_FUNCTION_CALL] . "\n\nParameters:\n" . print_r($param,true));
diff --git a/extension/NoT3Page/index.php b/extension/NoT3Page/index.php
index 7e6f2e105..7eb473fde 100644
--- a/extension/NoT3Page/index.php
+++ b/extension/NoT3Page/index.php
@@ -414,7 +414,9 @@ try {
 } catch (\DownloadException $e) {
     $html = $e->formatMessage();
 
-} catch (\Error | \Exception $e) {
+} catch (\Error $e) {
+    $html = "Generic Exception: " . $e->getMessage() . (IS_DEBUG ? ("<br>" . nl2br($e->getTraceAsString())) : '');
+} catch (\Exception $e) {
     $html = "Generic Exception: " . $e->getMessage() . (IS_DEBUG ? ("<br>" . nl2br($e->getTraceAsString())) : '');
 }
 
-- 
GitLab