How do one know what is the reasons why an android apps exit with exceptions?
If you as a user experience such crashes, and want to help the developer to get them fixed, you can use tools such as aLogcat (free) - logcat or Bug Reporter to catch a log of what happened:

 

While aLogCat allows you to restrict the log closer to the crash event (by letting you define what to capture), Bug Reporter enables you to send other useful information along, such as device specifics and the like.

EDIT: As Liam pointed out correctly in his comment, due to permission changes in Jelly Bean (4.1) some of those log viewers where no longer able to see anything but their own log entries. If your device is rooted, the easiest way to get them working again is to convert them into system apps (e.g. with Titanium Backup). If your Android version is 4.0.x or lower, you should not be affected by this.