summaryrefslogtreecommitdiff
path: root/libdeno/binding.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libdeno/binding.cc')
-rw-r--r--libdeno/binding.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/libdeno/binding.cc b/libdeno/binding.cc
index c3232bae1..ef5d5a226 100644
--- a/libdeno/binding.cc
+++ b/libdeno/binding.cc
@@ -99,10 +99,13 @@ std::string EncodeExceptionAsJSON(v8::Local<v8::Context> context,
CHECK(frame_obj
->Set(context, v8_str("functionName"), frame->GetFunctionName())
.FromJust());
- CHECK(frame_obj
- ->Set(context, v8_str("scriptName"),
- frame->GetScriptNameOrSourceURL())
- .FromJust());
+ // scriptName can be empty in special conditions e.g. eval
+ auto scriptName = frame->GetScriptNameOrSourceURL();
+ if (scriptName.IsEmpty()) {
+ scriptName = v8_str("<unknown>");
+ }
+ CHECK(
+ frame_obj->Set(context, v8_str("scriptName"), scriptName).FromJust());
CHECK(frame_obj
->Set(context, v8_str("isEval"),
v8::Boolean::New(isolate, frame->IsEval()))