
[英]How can i send data from my REST WebService to my Xamarin App?
[英]How can I make my Xamarin app send an email whenever an error occurs?
我的 Xamarin 应用的发布版本正在由非开发人员测试,这有时意味着测试人员无法向我传达他们遇到的错误的详细信息。
我想实现一些在发生崩溃或错误时执行的代码,并向我的地址发送一封包含错误信息的电子邮件,以帮助我进行调试。 我已经编写了一个电子邮件方法(见下文),但我想知道如何在抛出未处理的异常时调用它,而不是将每个可能的方法都包装在 try-catch 中。
public static void Email(string htmlString)
{
try
{
MailMessage msg = new MailMessage();
SmtpClient smtp = new SmtpClient();
msg.From = new MailAddress("email here");
msg.To.Add(new MailAddress("other email here"));
msg.Subject = "Error Report";
msg.IsBodyHtml = true;
msg.Body = htmlString;
smtp.Port = 1234;
smtp.Host = "smtp here";
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("email", "password");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(msg);
}
catch (Exception)
{
}
}
在 Xamarin 应用程序中捕获错误的基本方法是使用 try/catch 块。 尝试/捕获很容易获得。
您可以执行以下操作。
private void Send_Clicked(object sender, EventArgs e)
{
try
{
.......
}
catch(Exception ex)
{
Email(ex.ToString());
}
}
public static void Email(string htmlString)
{
MailMessage msg = new MailMessage();
SmtpClient smtp = new SmtpClient();
msg.From = new MailAddress("email here");
msg.To.Add(new MailAddress("other email here"));
msg.Subject = "Error Report";
msg.IsBodyHtml = true;
msg.Body = htmlString;
smtp.Port = 1234;
smtp.Host = "smtp here";
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("email", "password");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Send(msg);
}
Xamarin(Mono) 通过使用 try-catch 包围所有内容并引发 Unhandled 事件在内部“处理”那些未捕获的异常。
从线程解释。 努力理解 Xamarin 异常处理
你可以检查链接。 它提供了一种从日志文件中获取错误日志的方法。 使用 Xamarin Android 时的异常
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.