| Index: src/debug-debugger.js
|
| diff --git a/src/debug-debugger.js b/src/debug-debugger.js
|
| index dfad902d75a5c0a1f24c733e0b84955d46f258d1..ea1a17d04b4f67fb2f88df25f64656a773869118 100644
|
| --- a/src/debug-debugger.js
|
| +++ b/src/debug-debugger.js
|
| @@ -1306,9 +1306,12 @@ ProtocolMessage.prototype.setOption = function(name, value) {
|
| };
|
|
|
|
|
| -ProtocolMessage.prototype.failed = function(message) {
|
| +ProtocolMessage.prototype.failed = function(message, opt_details) {
|
| this.success = false;
|
| this.message = message;
|
| + if (IS_OBJECT(opt_details)) {
|
| + this.error_details = opt_details;
|
| + }
|
| };
|
|
|
|
|
| @@ -1355,6 +1358,9 @@ ProtocolMessage.prototype.toJSONProtocol = function() {
|
| if (this.message) {
|
| json.message = this.message;
|
| }
|
| + if (this.error_details) {
|
| + json.error_details = this.error_details;
|
| + }
|
| json.running = this.running;
|
| return JSON.stringify(json);
|
| };
|
| @@ -2461,8 +2467,17 @@ DebugCommandProcessor.prototype.changeLiveRequest_ = function(
|
|
|
| var new_source = request.arguments.new_source;
|
|
|
| - var result_description = Debug.LiveEdit.SetScriptSource(the_script,
|
| - new_source, preview_only, change_log);
|
| + var result_description;
|
| + try {
|
| + result_description = Debug.LiveEdit.SetScriptSource(the_script,
|
| + new_source, preview_only, change_log);
|
| + } catch (e) {
|
| + if (e instanceof Debug.LiveEdit.Failure && "details" in e) {
|
| + response.failed(e.message, e.details);
|
| + return;
|
| + }
|
| + throw e;
|
| + }
|
| response.body = {change_log: change_log, result: result_description};
|
|
|
| if (!preview_only && !this.running_ && result_description.stack_modified) {
|
|
|