When Android calls into managed code and the managed code throws an Exception, the exception needs to be caught at the Android/managed boundary and handled appropriately. For example, the exception could be ignored entirely, or the exception could be translated into a Java.Lang.Throwable instance and raised within Android by using AndroidEnvironment.RaiseThrowable(Java.Lang.Throwable).
If an event handler chooses to handle this event, it should set the RaiseThrowableEventArgs.Handled property to true.