为什么android studio总是警告调用抛出异常的方法?

时间:2017-01-27 09:53:15

标签: java android exception-handling

在某些情况下,android studio允许我调用抛出异常的方法,而不使用try / catch。这是为什么?我如何强制执行它以便始终警告我?

3 个答案:

答案 0 :(得分:4)

两种例外

已检查的例外是从Exception类继承的那些,您将收到警告

未经检查的异常是从RuntimeException继承的,调用抛出它们的方法永远不会显示编译器警告,但顾名思义"只是"在运行时搞砸了; - )

这是一个常见例外的简短列表,可以帮助你厌倦不安的搜索伙伴...

UNCHECKED例外

  • StackOverflowError
  • 的RuntimeException
  • ArrayIndexOutOfBoundsException
  • ClassCastException
  • IllegalArgumentException
  • IllegalStateException
  • 的NullPointerException
  • NumberFormatException
  • 的AssertionError
  • ExceptionInInitializerError
  • NoClassDefFoundError的

CHECKED例外

  • 例外
  • ClassNotFoundException
  • CloneNotSupportedException
  • FileNotFoundException
  • ParseException
  • InstantiationException
  • InterruptedException
  • IOException
  • NoSuchFieldException
  • NoSuchMethodException

答案 1 :(得分:0)

问题似乎是关于检查/未检查的异常,正如@RubioRic和@Altoyyr所说。我不知道差异。

答案 2 :(得分:0)

对于您可以处理的例外,请使用

try{
    //your business logic
}catch(Exception e) {
    //Err handling logic
}

对于无法处理的异常,请不要使用空的try / catch块,而是使用throws异常。让你编写的自定义错误处理程序从外部类等处理它。

//business logic which you know it will throw certain kind of exception
throw XException("your err descrption");

最后一种情况是你甚至不知道发生了什么,请根据异常/错误跟踪修复代码,这是业务逻辑应该处理好的错误。

请通过以下链接阅读java中的错误处理: http://www.onjava.com/pub/a/onjava/2003/11/19/exceptions.html