commit 5c618a1decbf26d832969f53c9876d4d0c9f7633
parent fd9fe9f52b7fe102abcc6c44f42fdc4aaefe3359
Author: Felicitus <felicitus@felicitus.de>
Date: Wed, 15 Sep 2010 05:59:58 +0200
Added support for system errors. System errors are exceptions which come from somewhere different than the PartDB2 itself; e.g. Doctrine exceptions and PHP exceptions. Those exceptions are displayed as such.
Diffstat:
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/frontend/js/org.jerrymouse.service/ServiceCall.js b/frontend/js/org.jerrymouse.service/ServiceCall.js
@@ -85,6 +85,12 @@ Ext.extend(org.jerrymouse.service.Call, Ext.util.Observable, {
return;
}
+ /* Check the status */
+ if (response.status == "systemerror") {
+ this.displaySystemError(response);
+ return;
+ }
+
if (this.sHandler) {
@@ -113,10 +119,10 @@ Ext.extend(org.jerrymouse.service.Call, Ext.util.Observable, {
},
displaySystemError: function (obj) {
var errorMsg;
-
- errorMsg = "Error Message: " + obj.getItem("errorMessage").toString()+"<br>";
- errorMsg += "Exception:"+obj.getItem("exception").toString()+"<br>";
- errorMsg += "Backtrace:<br>"+str_replace("\n", "<br>", obj.getItem("backtrace").toString());
+
+ errorMsg = "Error Message: " + obj.message+"<br>";
+ errorMsg += "Exception:"+obj.exception+"<br>";
+ errorMsg += "Backtrace:<br>"+str_replace("\n", "<br>", obj.backtrace);
Ext.Msg.maxWidth = 800;
diff --git a/frontend/service.php b/frontend/service.php
@@ -25,5 +25,13 @@ try {
$response["exception"] = $e->serialize();
echo json_encode($response);
+} catch (\Exception $e) {
+ $response = array();
+ $response["status"] = "systemerror";
+ $response["exception"] = get_class($e);
+ $response["message"] = $e->getMessage();
+ $response["backtrace"] = $e->getTraceAsString();
+
+ echo json_encode($response);
}
?>
\ No newline at end of file