Android程序崩溃,求大神帮忙看看这是什么原因

如题,代码中没错误,但是每次运行到那个方法就自动退出了。这是Logcat中的error列表,谁知道是什么原因?

04-22 15:29:54.788: E/dalvikvm(3610): threadid=11: created from interp,name=Thread-3687
04-22 15:29:54.798: E/dalvikvm(3610): threadid=11: calling run(),name=Thread-3687
04-22 15:29:54.828: E/lanageTag(3610): not use
04-22 15:30:05.589: E/dalvikvm(3610): threadid=11: exiting,name=Thread-3687
04-22 15:30:30.546: E/AndroidRuntime(3610): FATAL EXCEPTION: main
04-22 15:30:30.546: E/AndroidRuntime(3610): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=3021, result=-1, data=Intent { (has extras) }} to activity {com.example.ocr_test_13/com.example.ocr_test_13.MainActivity}: java.lang.ArithmeticException: divide by zero
04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread.deliverResults(ActivityThread.java:3178)
04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3221)
04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread.access$1100(ActivityThread.java:140)
04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1261)
04-22 15:30:30.546: E/AndroidRuntime(3610): at android.os.Handler.dispatchMessage(Handler.java:99)
04-22 15:30:30.546: E/AndroidRuntime(3610): at android.os.Looper.loop(Looper.java:137)
04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread.main(ActivityThread.java:4914)
04-22 15:30:30.546: E/AndroidRuntime(3610): at java.lang.reflect.Method.invokeNative(Native Method)
04-22 15:30:30.546: E/AndroidRuntime(3610): at java.lang.reflect.Method.invoke(Method.java:511)
04-22 15:30:30.546: E/AndroidRuntime(3610): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808)
04-22 15:30:30.546: E/AndroidRuntime(3610): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575)
04-22 15:30:30.546: E/AndroidRuntime(3610): at dalvik.system.NativeStart.main(Native Method)
04-22 15:30:30.546: E/AndroidRuntime(3610): Caused by: java.lang.ArithmeticException: divide by zero
04-22 15:30:30.546: E/AndroidRuntime(3610): at com.example.ocr_test_13.MainActivity.FindConnectArea(MainActivity.java:1158)
04-22 15:30:30.546: E/AndroidRuntime(3610): at com.example.ocr_test_13.MainActivity.Identify(MainActivity.java:735)
04-22 15:30:30.546: E/AndroidRuntime(3610): at com.example.ocr_test_13.MainActivity.onActivityResult(MainActivity.java:514)
04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.Activity.dispatchActivityResult(Activity.java:5276)
04-22 15:30:30.546: E/AndroidRuntime(3610): at android.app.ActivityThread.deliverResults(ActivityThread.java:3174)
04-22 15:30:30.546: E/AndroidRuntime(3610): ... 11 more
04-22 15:42:22.025: E/dalvikvm(7360): threadid=11: created from interp,name=Thread-3708
04-22 15:42:22.025: E/dalvikvm(7360): threadid=11: calling run(),name=Thread-3708
04-22 15:42:22.105: E/lanageTag(7360): not use


04-22 15:30:30.546: E/AndroidRuntime(3610): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=3021, result=-1, data=Intent { (has extras) }} to activity {com.example.ocr_test_13/com.example.ocr_test_13.MainActivity}: java.lang.ArithmeticException: divide by zero

是需要仔细的看出错的 LOG,我刚开始学 Android 编程时,也不太会看这些 LOG。
其实,关键的就是一两句,如上:divide by zero 告诉你除数为零了
所以你想检查一下你的代码,重点看看除运行。然后呢,在进行除运算前对除数进行判断,除数为零就不要进行除运行了。最后是自己输出一行 LOG 提示一下。

04-22 15:30:30.546: E/AndroidRuntime(3610): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=3021, result=-1, data=Intent { (has extras) }} to activity {com.example.ocr_test_13/com.example.ocr_test_13.MainActivity}: java.lang.ArithmeticException: divide by zero

上面信息已经告诉你了

divide by zero,除0了

一般开发程序时所跑出的异常都要有所了解,java.lang.ArithmeticException
例如:ClassCastException(类转换异常)
IndexOutOfBoundsException(数组越界)
NullPointerException(空指针)
ArrayStoreException(数据存储异常,操作数组时类型不一致)
还有IO操作的BufferOverflowException异常等。。

果真大神 一眼看出问题