2015-11-10 53 views
5

我已经多次注意到在Eclipse中启用异常断点& Android Studio默认情况下选中了“捕获异常”框。我有理由离开这个检查吗?为什么我应该关心Java中捕捉到的异常?

+0

我认为其目的是为了检测这些“非致命性”(如果我可以这么说的)异常,同时运行的应用程序;改善表现可能? –

回答

2

为什么我应该关心Java中捕捉到的异常?

当代码或逻辑中的某些内容中断时,异常可以帮助您。而不是使用ifelse语句来处理错误,这些错误需要编写更多的代码,并且代码本身可能会在进程中中断,您可以使用异常。例外允许您像平常一样编写代码,并通过添加try,catchfinally块来处理它们。然后程序将使用例外来表明发生了错误。

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

“抛出一个异常,使用throw语句,并为它提供一个异常对象 - 中Throwable的后裔 - 提供有关发生的特定错误信息引发未捕获的方法,检查的异常必须包括在声明中引发一个条款。“ - 来自例外情况Oracle文档

异常对象有关于引发错误的更多信息。 “有了异常链接,异常可以指向导致异常的异常,反过来可以指向导致异常的异常,等等。” - 来自例外Oracle文档

我已经多次注意到在Eclipse中启用异常断点& Android Studio默认情况下选中了“捕获异常”框。我有理由离开这个检查吗?

捕获异常复选框用于在抛出异常时暂停执行并使用catch子句捕获异常。

的Android

Android的例外是几乎一样的Java。但是,在Android中没有控制台,因此您必须向用户报告例外情况。向用户显示异常的方式是在吐司或对话框中。

你能得到关于此异常的详细信息: 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

+0

感谢您的彻底回应。你能从Android的上下文中提供更多的信息吗? Android似乎依靠例外来确定如何启动您的应用并让它与操作系统进行通信。 –

+0

我不是Android的经验,但我相信在java和android中异常工作是一样的。当代码“中断”时会发生异常。不同的是,在手机中,你必须让用户知道对话或敬酒。 –