Я хочу избежать сбоев в выпуске, даже если что-то не так. Вот почему я не хочу бросать исключения, которые, я знаю, не будут обрабатываться.
В режиме отладки я хочу сделать это, потому что хорошо, когда во время отладки что-то не так, хорошо получать как можно больше шума.
Проблема в том, что если я сделаю что-то вроде:
if (DEBUG_MODE) бросить e;
тогда мне нужно указать, что метод выдает исключение, но я не хочу этого делать, потому что это не так в релизе.
Какой лучший способ справиться с этим?
EDIT
PS
Мой вопрос не был ясен, извините.
В моем случае утверждение не очень удобно. Проблема в том, что я уже знаю, что что-то не так, поэтому мне нечего утверждать. Чтобы было понятнее, у меня есть неожиданные исключения. Конечно, вы можете сказать: напишите код, чтобы не было неожиданных исключений. Но если что-то не так, я не хочу, чтобы приложение зависало. Теперь я добавил такую функцию:
public static void unexpectedException(String string, Exception e) {
if (Build.DEBUG) {
MyApp.errorLog(string);
throw new RuntimeException(e);
} else
MyApp.errorLog(string, e);
}
Хотя все ваши ответы были правильными, я выберу тот, который ближе к тому, что я сделал
PS2
Другой случай, когда утверждение не очень удобно, - это когда вы реализуете шаблонное состояние. Если для какого-то состояния вы ожидаете, что метод никогда не будет вызван ...