From 1e66b69685ee2032b9770919fd6308058808c271 Mon Sep 17 00:00:00 2001 From: scgm0 <2682963017@qq.com> Date: Wed, 17 Apr 2024 04:16:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF=E8=BE=93?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- unity/native_src/Inc/V8Utils.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/unity/native_src/Inc/V8Utils.h b/unity/native_src/Inc/V8Utils.h index 09f75cdfd8..e07c40f90f 100644 --- a/unity/native_src/Inc/V8Utils.h +++ b/unity/native_src/Inc/V8Utils.h @@ -62,22 +62,22 @@ class FV8Utils else { v8::Local Context(Isolate->GetCurrentContext()); - - // 输出 (filename):(line number): (message). std::ostringstream stm; - v8::String::Utf8Value FileName(Isolate, Message->GetScriptResourceName()); - int LineNum = Message->GetLineNumber(Context).FromJust(); - const char * StrFileName = *FileName; - stm << (StrFileName == nullptr ? "unknow file" : StrFileName) << ":" << LineNum << ": " << ExceptionStr; - - stm << std::endl; // 输出调用栈信息 v8::MaybeLocal MaybeStackTrace = v8::TryCatch::StackTrace(Context, ExceptionValue); - if (!MaybeStackTrace.IsEmpty()) + if (ExceptionStr.rfind("SyntaxError:", 0) == 0) + { + v8::String::Utf8Value FileName(Isolate, Message->GetScriptResourceName()); + int LineNum = Message->GetLineNumber(Context).FromJust(); + int ColumnNum = Message->GetStartColumn(Context).FromJust(); + const char* StrFileName = *FileName; + stm << ExceptionStr << std::endl << " at " << (StrFileName == nullptr ? "unknow file" : StrFileName) << ":" << LineNum << ":" << ColumnNum; + } + else if (!MaybeStackTrace.IsEmpty()) { v8::String::Utf8Value StackTraceVal(Isolate, MaybeStackTrace.ToLocalChecked()); - stm << std::endl << *StackTraceVal; + stm << *StackTraceVal; } return stm.str(); }