[BUGFIX] Let all toplevel exceptions extend the core exception 75/53675/2
authorMathias Brodala <mbrodala@pagemachine.de>
Mon, 7 Aug 2017 10:50:16 +0000 (12:50 +0200)
committerSusanne Moog <susanne.moog@typo3.org>
Fri, 11 Aug 2017 09:54:36 +0000 (11:54 +0200)
This is a small step to unify exception handling in TYPO3 by
ensuring no internal and 3rd party code is forced to catch the
toplevel PHP exception.

This change e.g. actually allows the FormPagePreviewRenderer to
handle form loading errors.

Resolves: #82052
Releases: master, 8.7
Change-Id: I5cb0b8f2c56a6bbbecc34d87474d6d8b3ad2015c
Reviewed-on: https://review.typo3.org/53675
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
15 files changed:
typo3/sysext/backend/Classes/Exception.php
typo3/sysext/beuser/Classes/Exception.php
typo3/sysext/documentation/Classes/Exception.php [new file with mode: 0644]
typo3/sysext/documentation/Classes/Exception/Document.php
typo3/sysext/documentation/Classes/Exception/XmlParser.php
typo3/sysext/extbase/Classes/Exception.php
typo3/sysext/extensionmanager/Classes/Exception.php [new file with mode: 0644]
typo3/sysext/extensionmanager/Classes/Exception/ExtensionManagerException.php
typo3/sysext/form/Classes/Exception.php
typo3/sysext/frontend/Classes/Exception.php
typo3/sysext/install/Classes/Exception.php
typo3/sysext/lang/Classes/Exception.php [new file with mode: 0644]
typo3/sysext/lang/Classes/Exception/Language.php
typo3/sysext/lang/Classes/Exception/Ter.php
typo3/sysext/lang/Classes/Exception/XmlParser.php

index c7071be..e238115 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Backend;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Exception as CoreException;
+
 /**
- * Generic backend exception
+ * Generic Backend exception
  */
-class Exception extends \Exception
+class Exception extends CoreException
 {
 }
index 7f1fd24..9155c33 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Beuser;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Exception as CoreException;
+
 /**
  * Generic Beuser exception
  */
-class Exception extends \Exception
+class Exception extends CoreException
 {
 }
diff --git a/typo3/sysext/documentation/Classes/Exception.php b/typo3/sysext/documentation/Classes/Exception.php
new file mode 100644 (file)
index 0000000..54e47ed
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+namespace TYPO3\CMS\Documentation;
+
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\CMS\Core\Exception as CoreException;
+
+/**
+ * Generic Documentation exception
+ */
+class Exception extends CoreException
+{
+}
index ce3957b..8027847 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Documentation\Exception;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Documentation\Exception;
+
 /**
  * An exception when something is wrong within the document
  */
-class Document extends \TYPO3\CMS\Core\Exception
+class Document extends Exception
 {
 }
index ef193ed..2654c22 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Documentation\Exception;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Documentation\Exception;
+
 /**
  * An exception when something is wrong within an XML file
  */
-class XmlParser extends \TYPO3\CMS\Core\Exception
+class XmlParser extends Exception
 {
 }
index ff98b7c..2f07c1f 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Extbase;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Exception as CoreException;
+
 /**
  * A generic Extbase exception
  */
-class Exception extends \Exception
+class Exception extends CoreException
 {
 }
diff --git a/typo3/sysext/extensionmanager/Classes/Exception.php b/typo3/sysext/extensionmanager/Classes/Exception.php
new file mode 100644 (file)
index 0000000..0633fb0
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+namespace TYPO3\CMS\Extensionmanager;
+
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\CMS\Core\Exception as CoreException;
+
+/**
+ * A generic Extensionmanager exception
+ */
+class Exception extends CoreException
+{
+}
index 258c0b1..aa0a2de 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Extensionmanager\Exception;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Extensionmanager\Exception;
+
 /**
  * An exception when something is wrong within the extension manager
  */
-class ExtensionManagerException extends \TYPO3\CMS\Core\Exception
+class ExtensionManagerException extends Exception
 {
 }
index bd68647..47e8f64 100644 (file)
@@ -15,11 +15,13 @@ namespace TYPO3\CMS\Form;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Error\Exception as CoreException;
+
 /**
  * A generic Form Exception
  *
  * @api
  */
-class Exception extends \Exception
+class Exception extends CoreException
 {
 }
index ae671e6..1ce1350 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Frontend;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Exception as CoreException;
+
 /**
- * A generic frontend exception
+ * A generic Frontend exception
  */
-class Exception extends \Exception
+class Exception extends CoreException
 {
 }
index 07d334d..6cc93a2 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Install;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Exception as CoreException;
+
 /**
- * A generic install exception
+ * A generic Install exception
  */
-class Exception extends \Exception
+class Exception extends CoreException
 {
 }
diff --git a/typo3/sysext/lang/Classes/Exception.php b/typo3/sysext/lang/Classes/Exception.php
new file mode 100644 (file)
index 0000000..b26de6e
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+namespace TYPO3\CMS\Lang;
+
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use TYPO3\CMS\Core\Exception as CoreException;
+
+/**
+ * A generic Lang exception
+ */
+class Exception extends CoreException
+{
+}
index 1479bb4..62a0128 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Lang\Exception;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Lang\Exception;
+
 /**
  * An exception when something is wrong within the language
  */
-class Language extends \TYPO3\CMS\Core\Exception
+class Language extends Exception
 {
 }
index 21e7a5a..42993de 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Lang\Exception;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Lang\Exception;
+
 /**
  * An exception when something is wrong within the ter
  */
-class Ter extends \TYPO3\CMS\Core\Exception
+class Ter extends Exception
 {
 }
index 3f7f4a5..3564f56 100644 (file)
@@ -14,9 +14,11 @@ namespace TYPO3\CMS\Lang\Exception;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Lang\Exception;
+
 /**
  * An exception when something is wrong within parsing the xml
  */
-class XmlParser extends \TYPO3\CMS\Core\Exception
+class XmlParser extends Exception
 {
 }