Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 异常和Scriptablemember_Silverlight - Fatal编程技术网

Silverlight 异常和Scriptablemember

Silverlight 异常和Scriptablemember,silverlight,Silverlight,我有一个可编写脚本的成员函数。我从这个函数中抛出一个异常 它不会触发application.UnhandledException事件 一定有什么东西在处理这个事件。。。如何防止这种情况并调用unhandledexception事件 或者至少避免我的应用程序崩溃并显示javascript错误?您无法真正阻止这种行为,从.NET的角度来看,错误不会“未经处理”。在Javascript和.NET之间的边界将有一个错误处理程序,在这里,.NET错误被“处理”为Javascript错误。然后,脚本引擎会抛

我有一个可编写脚本的成员函数。我从这个函数中抛出一个异常

它不会触发application.UnhandledException事件

一定有什么东西在处理这个事件。。。如何防止这种情况并调用unhandledexception事件


或者至少避免我的应用程序崩溃并显示javascript错误?

您无法真正阻止这种行为,从.NET的角度来看,错误不会“未经处理”。在Javascript和.NET之间的边界将有一个错误处理程序,在这里,.NET错误被“处理”为Javascript错误。然后,脚本引擎会抛出此javascript错误

唯一的解决方法是在标记为
ScriptableMember
的任何内容中始终包含try..catch处理程序。如果这样一个成员也是从.NET代码中调用的,则创建代理成员以供脚本调用。例如:-

[ScriptableMember()]
public void HighlightEditsForCode(object xml)
{
  //Do Stuff
}
[ScriptableMember(ScriptAlias="HighlightEditsForCode")]
public void HighlightEditsForCodeScript(object xml)
{
  try
  {
    HighlightEditsForCode(object xml);
  }
  catch(e)
  {
    CallSomeEquivalentToUnhandledError(e);
  }
}

public void HighlightEditsForCode(object xml)
{
  // Do Stuff
}