Cómo escribir correctamente un UncaughtExceptionHandler personalizado en Xamarin.Android
Todo lo que quiero lograr es detectar excepciones en mi aplicación para poder enviarlas a un servidor. Descubrí que puedo hacer esto escribiendo mi costumbreUncaughtExceptionHandler base en el código nativo de Android en Java respondióaquí en StackOverflow.
Este es miCustomExceptionHandler clase:
public class CustomExceptionHandler : Thread.IUncaughtExceptionHandler
{
public IntPtr Handle { get; private set; }
public CustomExceptionHandler(Thread.IUncaughtExceptionHandler exceptionHandler)
{
Handle = exceptionHandler.Handle;
}
public void UncaughtException(Thread t, Throwable e)
{
// Submit exception details to a server
...
// Display error message for local debugging purposes
Debug.WriteLine(e);
}
public void Dispose()
{
throw new NotImplementedException();
}
}
Luego usé esta clase para establecer elDefaultUncaughtExceptionHandler en miActividad:
// Set the default exception handler to a custom one
Thread.DefaultUncaughtExceptionHandler = new CustomExceptionHandler(
Thread.DefaultUncaughtExceptionHandler);
No sé qué hay de malo en este enfoque, se construyó pero obtuve unInvalidCastException en tiempo de ejecución.
Tengo lo mismoThread.IUncaughtExceptionHandler tipos de interfaz para miCustomExceptionHandler y elDefaultUncaughtExceptionHandler, pero ¿por qué recibo este error? Por favor iluminame. Gracias.