diff --git a/src/node_errors.cc b/src/node_errors.cc index 603c9e415c3..baf08b30458 100644 --- a/src/node_errors.cc +++ b/src/node_errors.cc @@ -180,7 +180,8 @@ void PrintException(Isolate* isolate, Local err, Local message) { node::Utf8Value reason(isolate, - err->ToDetailString(context).ToLocalChecked()); + err->ToDetailString(context) + .FromMaybe(Local())); 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 9e506f0e657..ab54c84379d 100644 --- a/src/node_util.cc +++ b/src/node_util.cc @@ -125,8 +125,10 @@ static void PreviewEntries(const FunctionCallbackInfo& args) { // Side effect-free stringification that will never throw exceptions. static void SafeToString(const FunctionCallbackInfo& args) { - auto context = args.GetIsolate()->GetCurrentContext(); - args.GetReturnValue().Set(args[0]->ToDetailString(context).ToLocalChecked()); + Local context = args.GetIsolate()->GetCurrentContext(); + Local detail_string; + if (args[0]->ToDetailString(context).ToLocal(&detail_string)) + args.GetReturnValue().Set(detail_string); } inline Local IndexToPrivateSymbol(Environment* env, uint32_t index) {