我想在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函数出现错误时,它不会给我任何错误文本或提示来检测我的错误。
那么在运行JS函数时,如何在c#中获取Edgejs中的错误文本呢?
发布于 2016-05-11 01:18:19
一种方法可以是:
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代码的情况下使用其他方法,那就太棒了。
https://stackoverflow.com/questions/37144777
复制相似问题