summaryrefslogtreecommitdiff
path: root/libdeno/binding.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libdeno/binding.cc')
-rw-r--r--libdeno/binding.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/libdeno/binding.cc b/libdeno/binding.cc
index d292f2638..000529304 100644
--- a/libdeno/binding.cc
+++ b/libdeno/binding.cc
@@ -558,7 +558,11 @@ v8::MaybeLocal<v8::Module> ResolveCallback(v8::Local<v8::Context> context,
if (d->resolve_module_.IsEmpty()) {
// Resolution Error.
- isolate->ThrowException(v8_str("module resolution error"));
+ std::stringstream err_ss;
+ err_ss << "NotFound: Cannot resolve module \"" << specifier_c
+ << "\" from \"" << referrer_filename << "\"";
+ auto resolve_error = v8_str(err_ss.str().c_str());
+ isolate->ThrowException(resolve_error);
return v8::MaybeLocal<v8::Module>();
} else {
auto module = d->resolve_module_.Get(isolate);
@@ -612,6 +616,8 @@ bool ExecuteMod(v8::Local<v8::Context> context, const char* js_filename,
auto module = maybe_module.ToLocalChecked();
auto maybe_ok = module->InstantiateModule(context, ResolveCallback);
if (maybe_ok.IsNothing()) {
+ DCHECK(try_catch.HasCaught());
+ HandleException(context, try_catch.Exception());
return false;
}