Ну, это довольно бессмысленный код, потому что вы все равно получили бы NullPointerException
, если бы он безоговорочно назывался store.dropDatabase
.Вы не получили бы то же сообщение, но трассировка стека прояснила бы это.
В этом случае я бы сказал, что это должно быть IllegalStateException
, хотя:
Сигналычто метод был вызван в незаконное или неподходящее время.Другими словами, среда Java или приложение Java не находятся в подходящем состоянии для запрошенной операции.
Звучит так же, как ситуация для меня.Я также сделал бы проверку first , например:
if (store == null)
{
throw new IllegalStateException("No valid database connection.");
}
store.dropDatabase(DATABASE);
Таким образом, вы можете убрать все предварительные условия в начале метода, а затем сосредоточиться наосновной корпус.
С Гуава , я бы просто изменил это на:
Preconditions.checkState(store != null, "No valid database connection.");
store.dropDatabase(DATABASE);