2017-12-27 857 views

回答

0

在抛出必须被捕获的异常的Java方法(把里面的try/catch块),代码将无法编译,直到你做的,所以如果你不这样做,你会得到一个红线/编译错误。

那些被称为检查例外,例外的是已经被抓住,像IO。

其他异常,未检查,或运行时异常,一般不应该没有一个try/catch来处理,但是你需要警惕他们或解决这些问题。

例如,而不是追赶NullPointerException,你应该检查null如果实例可以null

+0

让我们举个例子 “SharedPreferences.getInt(String键,诠释利用DefValue)”。如果存在不是int的此名称的首选项,则会抛出ClassCastException。如果我不把它放在try/catch块中,我不会看到红线/编译错误(Android Studio根本不会将其视为编译错误)。我想使用try/catch,因为在“catch”中我想创建可能来自用户的错误的日志(文本文件)。那么,有没有办法告诉Android Studio 3.0.1突出显示可以抛出异常的代码中的每个方法? – Liviu

+0

ClassCastException异常是一种例外,你应该可以解决,而不是“赶”的,确保当你把某些类型的偏好,你获得的是相同的类型。因为你无法从这样的异常中恢复,你会使用什么值而不是你不能投射的值,这将是不正确的。使用运行时崩溃捕获这些情况并在开发时修复它们 – elmorabea

+0

谢谢。你说得对。这是一个很好的做法。无论如何,是否有可能告诉Android Studio 3.0.1突出显示可引发异常的代码中的每个方法?这是毫无疑问的。 :) – Liviu

相关问题