java - Android 应用程序在 Eclipse 中不会崩溃

标签 java android eclipse exception

是的,没错。尽管引入了一些错误的代码,应用程序仍然继续运行。我对 Android 和 Eclipse 开发非常陌生,所以我想知道是否有一些设置导致应用程序不崩溃?我尝试引发崩溃的原因是为了测试一些崩溃报告代码。

这是我创建异常的方法。在我的一个按钮事件处理程序中,我添加了这一行:

int i = 1 / 0; // Divide by zero is bad!

这是遇到上述行后的 LogCat 输出:

04-25 15:50:39.880: W/System.err(2786): java.lang.reflect.InvocationTargetException
04-25 15:50:39.880: W/System.err(2786):     at java.lang.reflect.Method.invokeNative(Native Method)
04-25 15:50:39.880: W/System.err(2786):     at java.lang.reflect.Method.invoke(Method.java:507)
04-25 15:50:39.880: W/System.err(2786):     at com.mystuff.android.ReflectiveAction.run(Unknown Source)
04-25 15:50:39.880: W/System.err(2786):     at com.mystuff.android.Command.onClick(Unknown Source)
04-25 15:50:39.890: W/System.err(2786):     at android.view.View.performClick(View.java:2532)
04-25 15:50:39.890: W/System.err(2786):     at android.view.View$PerformClick.run(View.java:9293)
04-25 15:50:39.890: W/System.err(2786):     at android.os.Handler.handleCallback(Handler.java:587)
04-25 15:50:39.890: W/System.err(2786):     at android.os.Handler.dispatchMessage(Handler.java:92)
04-25 15:50:39.890: W/System.err(2786):     at android.os.Looper.loop(Looper.java:143)
04-25 15:50:39.890: W/System.err(2786):     at android.app.ActivityThread.main(ActivityThread.java:4263)
04-25 15:50:39.890: W/System.err(2786):     at java.lang.reflect.Method.invokeNative(Native Method)
04-25 15:50:39.890: W/System.err(2786):     at java.lang.reflect.Method.invoke(Method.java:507)
04-25 15:50:39.890: W/System.err(2786):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-25 15:50:39.890: W/System.err(2786):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-25 15:50:39.890: W/System.err(2786):     at dalvik.system.NativeStart.main(Native Method)
04-25 15:50:39.890: W/System.err(2786): Caused by: java.lang.ArithmeticException: divide by zero
04-25 15:50:39.890: W/System.err(2786):     at com.mystuff.theapp.HomePage.evSurprise(HomePage.java:209)
04-25 15:50:39.890: W/System.err(2786):     ... 15 more

感谢您的帮助!

编辑 - 这是带有错误代码行的整个事件处理程序:

public void evSurprise () {
    int i = 1 / 0;

    cpanel.animateGoButtonWhole();
    cpanel.showThrobber();

    Helper.startActivity( this, Actions.VENUE, Actions.SEARCH, false );
}

顺便说一句,这段代码是由我们公司的外部承包商编写的。我是一名 Objective-C 程序员,正在尝试了解 java 和 Android 开发。由于我对这段代码的了解有限,很可能存在一个我不知道的异常处理程序。如果是这种情况,我应该寻找什么?

最佳答案

您可能会发现错误。

如果执行 1/0 时没有发现错误,日志将如下所示

E/AndroidRuntime(27801)

E - 错误。但我们是

W/System.err(2786)

W - 警告。您正在捕获错误并打印它。

所以删除代码中某处的 try/catch,如下所示:

try{
    //your code
}catch(Exception e){
    e.printStackTrace(e)
}

仅使用//您的代码部分

关于java - Android 应用程序在 Eclipse 中不会崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16224151/

相关文章:

java - org.hibernate.dialect.PostgresPlusDialect 与 org.hibernate.dialect.PostgreSQL9Dialect 之间有什么区别?

java - 在java中的do while循环中跳过扫描仪输入

java - 如何在没有动画的情况下关闭应用程序

android - 在 RecyclerView 中为分隔线添加边距

java - Eclipse - 无法在 Java API 类中安装断点

java - IntelliJ代码风格定制

java - spring-boot-starter-oauth2-resource-server vs spring-cloud-starter-oauth2 使用哪个?

android - 将触摸事件从 ScrollView 委托(delegate)给垂直 ViewPager

android - 如何在 android eclipse 上的 tabhost 中实现共享首选项概念

php - Eclipse 缩进 PHP