Hi,
You have to understand how the java an haxe interact on android. It's like this:
boots in java: GameActivity.java
-. Create render thread (java)
render thread boots the haxe thread
haxe App.main()
render thread processes an event
- calls into haxe thread
haxe thread may callback into java
To catch the stuff that happens in Java (ie, when haxe in not processing events), you will need to override the java templates and handle it in there.
When the haxe thread calls back into java, via jni, java exceptions are handled via the android/JNI.cpp nme file where CheckException "catches" it and throws a haxe exception.
I guess the best solution may be to ensure we catch as much as possible in java and convert them exceptions to haxe events.
When something really bad like the haxe library can't be found happens, I'm not sure you can do much besides a "Bad install" style dialog.
Hugh