Index: src/FileSystemJsObject.cpp |
=================================================================== |
--- a/src/FileSystemJsObject.cpp |
+++ b/src/FileSystemJsObject.cpp |
@@ -182,20 +182,26 @@ |
auto isolate = jsEngine->GetIsolate(); |
const v8::TryCatch tryCatch(isolate); |
const auto contentEnd = content.cend(); |
auto stringBegin = SkipEndOfLine(content.begin(), contentEnd); |
auto v8Context = isolate->GetCurrentContext(); |
do |
{ |
auto stringEnd = AdvanceToEndOfLine(stringBegin, contentEnd); |
- auto jsLine = Utils::StringBufferToV8String(isolate, StringBuffer(stringBegin, stringEnd)).As<v8::Value>(); |
- processFunc->Call(v8Context, globalContext, 1, &jsLine); |
- if (tryCatch.HasCaught()) |
- throw JsError(isolate, tryCatch.Exception(), tryCatch.Message()); |
+ auto jsLine = CHECKED_TO_LOCAL( |
+ isolate, |
+ Utils::StringBufferToV8String( |
+ isolate, StringBuffer(stringBegin, stringEnd)), |
+ tryCatch).As<v8::Value>(); |
+ |
+ CHECKED_TO_LOCAL( |
+ isolate, processFunc->Call(v8Context, globalContext, 1, &jsLine), |
+ tryCatch); |
+ |
stringBegin = SkipEndOfLine(stringEnd, contentEnd); |
} while (stringBegin != contentEnd); |
jsEngine->GetJsValues(weakData->weakResolveCallback)[0].Call(); |
}, [weakData](const std::string& error) |
{ |
if (error.empty()) |
return; |
auto jsEngine = weakData->weakJsEngine.lock(); |