Task<string> t = Helpers.InsertTodoItem(todoItem, imageStream);
Dispatcher.BeginInvoke(() => MessageBox.Show("Inserted"));
t.ContinueWith((i) =>
{
Dispatcher.BeginInvoke(() => MessageBox.Show("In ContinueWith"));
try
{
Dispatcher.BeginInvoke(() => MessageBox.Show(t.Result.ToString()));
}
catch (Exception ze)
{
Dispatcher.BeginInvoke(() => MessageBox.Show(ze.ToString()));
}
//string r = (string)t.Result.Substring(t.Result.LastIndexOf('/') + 1);
Dispatcher.BeginInvoke(() => MessageBox.Show("Uploaded"));
});
以上是我正在处理的WP8应用程序的代码段
在连接调试器(在模拟器或实际设备上)运行时,它可以正常工作。
当我在没有调试器的情况下运行它时,它会显示“In ContinueWith”消息,然后关闭。
有没有办法找出错误是什么并解决它?不会弹出异常
答案 0 :(得分:0)
不要在延续方法中使用t
,而是使用i
,但它们是相同的。如果您怀疑问题在于访问结果,为什么不将t.Result
包裹在某个try-catch
块中?
答案 1 :(得分:-1)
事实证明,在显示消息框之后,执行将转移到下一行代码,由于未初始化的变量,空引用异常会在我看到消息框显示异常之前导致崩溃