From c6a4c2882d89c6bcceeeccd319549611a5d1801b Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sun, 12 Mar 2017 16:09:34 +0100 Subject: Proper error if the conf file is invalid instead of fatal error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Error: An error occurred while parsing configuration JSON file (data/config.json.php): error code #4 ➜ Syntax error Please check your JSON syntax (without PHP comment tags) using a JSON lint tool such as jsonlint.com. --- application/config/ConfigJson.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'application/config/ConfigJson.php') diff --git a/application/config/ConfigJson.php b/application/config/ConfigJson.php index 30908d90..9ef2ef56 100644 --- a/application/config/ConfigJson.php +++ b/application/config/ConfigJson.php @@ -21,8 +21,14 @@ class ConfigJson implements ConfigIO $data = str_replace(self::getPhpSuffix(), '', $data); $data = json_decode($data, true); if ($data === null) { - $error = json_last_error(); - throw new \Exception('An error occurred while parsing JSON file: error code #'. $error); + $errorCode = json_last_error(); + $error = 'An error occurred while parsing JSON configuration file ('. $filepath .'): error code #'; + $error .= $errorCode. '
' . json_last_error_msg() .''; + if ($errorCode === JSON_ERROR_SYNTAX) { + $error .= '
Please check your JSON syntax (without PHP comment tags) using a JSON lint tool such as '; + $error .= 'jsonlint.com.'; + } + throw new \Exception($error); } return $data; } -- cgit v1.2.3