partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

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:
Mfrontend/js/org.jerrymouse.service/ServiceCall.js | 14++++++++++----
Mfrontend/service.php | 8++++++++
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