diff options
-rw-r--r-- | src/node_errors.cc | 3 | ||||
-rw-r--r-- | src/node_util.cc | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/node_errors.cc b/src/node_errors.cc index 603c9e415c..baf08b3045 100644 --- a/src/node_errors.cc +++ b/src/node_errors.cc @@ -180,7 +180,8 @@ void PrintException(Isolate* isolate, Local<Value> err, Local<Message> message) { node::Utf8Value reason(isolate, - err->ToDetailString(context).ToLocalChecked()); + err->ToDetailString(context) + .FromMaybe(Local<String>())); bool added_exception_line = false; std::string source = GetErrorSource(isolate, context, message, &added_exception_line); diff --git a/src/node_util.cc b/src/node_util.cc index 9e506f0e65..ab54c84379 100644 --- a/src/node_util.cc +++ b/src/node_util.cc @@ -125,8 +125,10 @@ static void PreviewEntries(const FunctionCallbackInfo<Value>& args) { // Side effect-free stringification that will never throw exceptions. static void SafeToString(const FunctionCallbackInfo<Value>& args) { - auto context = args.GetIsolate()->GetCurrentContext(); - args.GetReturnValue().Set(args[0]->ToDetailString(context).ToLocalChecked()); + Local<Context> context = args.GetIsolate()->GetCurrentContext(); + Local<String> detail_string; + if (args[0]->ToDetailString(context).ToLocal(&detail_string)) + args.GetReturnValue().Set(detail_string); } inline Local<Private> IndexToPrivateSymbol(Environment* env, uint32_t index) { |