如何解决使用不良连接时Xamarin应用突然崩溃
当我的应用遇到连接问题时,它突然崩溃并且没有引发异常。我已经放了Microsoft App Center插件,这是当机报告:
Xamarin Exception Stack:
System.NullReferenceException: Object reference not set to an instance of an object
at Project.XAML.AtendimentosUser.GetData (System.Collections.Specialized.NameValueCollection data) [0x000f3] in <8ee15104665a463180bbffb742ed9570>:0
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <0db975f2d36842718f4da4da36d2fcb7>:0
at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in <c2957c7ec1ac46f688b7f30f24232572>:0
at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <c2957c7ec1ac46f688b7f30f24232572>:0
at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv,System.IntPtr native__this) [0x00008] in <c2957c7ec1ac46f688b7f30f24232572>:0
at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.35(intptr,intptr)
AtendimentosUser.GetData方法的代码:
async void GetData(NameValueCollection data)
{
/* try { */
StackListagem.IsVisible = false;
SemResultados.IsVisible = false;
LoadingItems.IsRunning = true;
LoadingContainer.IsVisible = true;
WebService client = new WebService();
agendamentos = await Task.Run(() => client.PostData<List<Agendamento>>(url,data,debug: true));
LoadingContainer.IsVisible = false;
LoadingItems.IsRunning = false;
if (agendamentos.Count > 0)
{
LabelListagem.Text = "Você tem " + agendamentos.Count + " agendamento(s) para " + ((Mes)PickerMes.SelectedItem).label + " de " + PickerAno.SelectedItem;
ListagemAgendamento.ItemsSource = agendamentos;
StackListagem.IsVisible = true;
}
else
{
CaptionTxt.Text = "Você não possui agendamentos" + Environment.NewLine + " para " + ((Mes)PickerMes.SelectedItem).label + " de " + PickerAno.SelectedItem;
SemResultados.IsVisible = true;
}
/* } catch { GetData(data); } */
}
我刚刚添加了try / catch,但是我不知道这样是否可以正确处理问题。
你们看到导致此问题的原因了吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。