创建WP8
应用程序,该应用程序使用Web Service
来获取,创建,更新&删除数据&显示它。
现在问题是我的应用程序崩溃了
未处理的类型异常 发生了''System.Reflection.TargetInvocationException' System.Windows.ni.dll“inWindows Phone
此异常没有堆栈跟踪&我坚持了几个小时。我注意到,只要比正常情况更频繁地调用服务,就会发生这种异常,但我没有得到实际的原因。
知道这是非常有帮助的
这是什么类型的例外?
2.这会发生什么情况?
3.由于这个例外,我们如何处理应用程序崩溃?
答案 0 :(得分:14)
您的评论
你是对的。得到一个内部异常对象说“在MyApp.ViewModels.CreateViewModel.d__61.MoveNext()---从抛出异常的前一个位置的堆栈跟踪结束---在System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__0(对象状态) “消息:对象引用未设置为对象的实例。
只是在某处显示,你正在调用一个不等待的异步方法:当一个方法返回一个任务时,总是等待它。
你的内部异常应该有一个内部异常(即$ exception.InnerException.InnerException,堆栈跟踪将显示你的NullReferenceException的位置)
当您的代码中没有处理代码中的异常时,会调用UnhandledException事件,并且应用程序不知道如何处理它。 默认情况下,它会使您的应用崩溃。 但是,您可以阻止您的应用在这些情况下崩溃。请参阅this了解更多信息。
要解决您的问题“干净的方式”,您必须找到未等待代码的地方并进行修复。即某处你会发现:
myObject.DoSomethingAsync(); // DoSomethingAsync() returns a task.
改变它:
try
{
await myObject.DoSomethingAsync(); // DoSomethingAsync() returns a task.
}catch(Exception ex)
{
// display error message or whatever
}
[edit] 这将处理错误,但您真正想要修复的是nullref异常的原因。我没有那么多线索,但它看起来像一个线程并发问题。
答案 1 :(得分:3)
1.这是什么类型的例外?
当您尝试访问w / s时会发生此异常,并且它将变得过载。
2.这会发生什么情况?
业务逻辑复杂或数据库锁定或无响应
3.我们如何处理因此异常导致的应用崩溃?
处理它我建议做得更好w / s的性能,或者你可以使用递归调用,但它不会解决我认为的问题
答案 2 :(得分:0)
或InvokeRequired
function [true_or_false, matches] = is_in(points, point)
matches = abs([points.x] - point.x) < 1e-7 & abs([points.y] - point.y) < 1e-7 & abs([points.z] - point.z) < 1e-7;
true_or_false = any(matches);