在运行JS函数时,如何在c#中的Edgejs中获取错误文本?

我想在控制台应用程序的c#平台中运行一些JavaScript文件,例如:

using System; using System.Threading.Tasks; using EdgeJs; class Program { public static async Task Start() { var func = Edge.Func(@" return function (data, callback) { var hello = function() { // some javascript syntax error ... return ' Hello ' + data; }; callback(null, hello()); } "); Console.WriteLine(await func("Word!")); } static void Main(string[] args) { Start().Wait(); } } 

但是,当我的js函数有一个错误,它不会给我任何错误文本或提示来检测我的错误。

那么我怎么能得到错误文本在Edgejs中运行一个JS函数?

一种方法可以是这样的:

  using System; using System.Threading.Tasks; using EdgeJs; class Program { public static async Task Start() { var func = Edge.Func(@" return function (data, callback) { var error = ''; var hello = function() { try{ some javascript syntax error .... return 'Hello ' + data; }catch(e){ error = e;} }; var result = hello(); if(error == '') { callback(null, result ); } else { callback(null, error); } } "); Console.WriteLine(await func("Word!")); } static void Main(string[] args) { Start().Wait(); } } 

我的意思是在我的js代码中使用try catch,但是如果不改变js代码可能是其他方式,那是非常好的。