【问题标题】:Why should I care about caught exceptions in Java?为什么我应该关心 Java 中捕获的异常?
【发布时间】:2016-02-10 18:57:00
【问题描述】:

我曾多次注意到,在 Eclipse 和 Android Studio 中启用异常断点会默认选中“捕获异常”框。有什么理由让我保持选中状态吗?

【问题讨论】:

  • 我认为它的目的是在运行应用程序时检测那些“非致命”(如果我可以这么说的话)异常;也许可以提高性能?

标签: java android eclipse android-studio breakpoints


【解决方案1】:

我为什么要关心 Java 中捕获的异常?

当您的代码或逻辑出现问题时,异常会为您提供帮助。您可以使用异常来代替使用ifelse 语句来处理错误,因为需要编写更多代码并且代码本身可能会在此过程中中断。异常允许您像往常一样编写代码并通过添加trycatchfinally 块来处理它们。然后程序将使用异常来指示发生了错误。

  • try 是可能发生异常的代码块,它应该 包含至少一个(或多个)捕获,或 finally 块。
  • catch 是处理特定类型异常的代码块。
  • finally 是保证在之后执行的代码块 try 块。

“要抛出异常,请使用 throw 语句并为其提供异常对象(Throwable 的后代),以提供有关发生的特定错误的信息。抛出未捕获的检查异常的方法必须包含 throws 子句在其声明中。” - 来自异常 Oracle 文档

Exceptions 对象包含有关它所引发的错误的更多信息。 “通过异常链接,异常可以指向导致它的异常,而后者又可以指向导致它的异常,依此类推。” - 来自异常 Oracle 文档

我曾多次注意到,在 Eclipse 和 Android Studio 中启用异常断点会默认选中“捕获异常”框。是否有理由让我保持选中状态?

如果您希望在抛出异常时暂停执行并使用catch 子句捕获它,则使用捕获异常复选框。

安卓

Android 异常与 java 几乎相同。但是,在 Android 中没有控制台,因此您必须向用户报告异常情况。向用户显示异常的方式是在 toast 或对话框中。

您可以在此处获取有关异常的更多信息: https://docs.oracle.com/javase/tutorial/essential/exceptions/ http://www.javacodegeeks.com/2013/07/java-exception-handling-tutorial-with-examples-and-best-practices.html https://androidcookbook.com/Recipe.seam;jsessionid=ED0972E495383DBA84BE448E717BB749?recipeId=75&recipeFrom=ViewTOC

【讨论】:

  • 感谢您的彻底回复。您能否从 Android 的上下文中提供更多信息? Android 似乎依赖异常来确定如何启动您的应用并让它与操作系统通信。
  • 我在 Android 方面没有经验,但我相信异常在 java 和 android 中的工作方式相同。当您的代码“中断”时会发生异常。不同之处在于,在手机中,您必须通过对话或敬酒来让用户知道。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-07
  • 2010-11-16
  • 2012-01-22
  • 1970-01-01
相关资源
最近更新 更多