mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 23:29:47 +00:00
Add handling for DAP errors with full body
Change-Id: I214d8247bf1115c982912dd3331add5acdcddc3f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/302850 Reviewed-by: Ben Konyi <bkonyi@google.com> Commit-Queue: Helin Shiah <helinx@google.com>
This commit is contained in:
parent
c0d33e45d1
commit
aa9a219266
|
@ -6,6 +6,7 @@ import 'dart:async';
|
|||
|
||||
import 'package:meta/meta.dart';
|
||||
|
||||
import 'constants.dart';
|
||||
import 'exceptions.dart';
|
||||
import 'protocol_common.dart';
|
||||
import 'protocol_generated.dart';
|
||||
|
@ -143,13 +144,20 @@ abstract class BaseDebugAdapter<TLaunchArgs extends LaunchRequestArguments,
|
|||
assert(sendResponseCalled,
|
||||
'sendResponse was not called in ${request.command}');
|
||||
} catch (e, s) {
|
||||
// TODO(helin24): Consider adding an error type to DebugAdapterException.
|
||||
final messageText = e is DebugAdapterException ? e.message : '$e';
|
||||
final errorMessage = Message(
|
||||
id: ErrorMessageType.general,
|
||||
format: '{message}\n{stack}',
|
||||
variables: {'message': messageText, 'stack': '$s'},
|
||||
);
|
||||
final response = Response(
|
||||
success: false,
|
||||
requestSeq: request.seq,
|
||||
seq: _sequence++,
|
||||
command: request.command,
|
||||
message: e is DebugAdapterException ? e.message : '$e',
|
||||
body: '$s',
|
||||
message: messageText,
|
||||
body: ErrorResponseBody(error: errorMessage),
|
||||
);
|
||||
responseWriter(response);
|
||||
}
|
||||
|
|
|
@ -7,3 +7,7 @@ class Command {
|
|||
static const configurationDone = 'configurationDone';
|
||||
static const attach = 'attach';
|
||||
}
|
||||
|
||||
class ErrorMessageType {
|
||||
static const general = 1;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue