Я ищу, чтобы очистить беспорядок исключения, который в настоящее время является базой кода, над которой я работаю.Как очистить обработку исключений?
Основная настройка - это.
У меня есть интерфейс, реализуемый множеством классов, выглядит следующим образом:
public interface TerminalMessage<E> {
// Override for specific return data type.
public E send(TerminalStream stream) throws Exception;
}
Эти классы бросают много различных исключений, как IOException, InterruptedException и т.д.
Как это теперь все, что я делаю, это вызов getMessage() в зацепившихся исключениях и передача этого сообщения в u-код.
Это не очень приятно, так как иногда я получаю ложные сообщения, отображаемые пользователю, и я улавливаю нежелательные исключения.
Я собираюсь создать собственный класс исключений (TerminalException), который будет обертывать все эти исключения.
Однако я не уверен, где сделать обертывание, если обертывание должно выполняться там, где исключение сначала выбрано (например, в выходном потоке) или в каждом методе send(). Преимущество первого заключается в том, что он не добавляет много кода, но имеет смысл, что поток генерирует исключение IOException, а не исключение TerminalException.
Вышеупомянутая конструкция также не позволяет решить иногда плохие сообщения, отображаемые пользователю, поэтому некоторые советы о том, как превратить заброшенные исключения во что-то полезное для пользователя, были бы замечательными!
Спасибо!
Я настоятельно рекомендую вам прочитать эту статью http://onjava.com/pub/a/onjava/2003/11/19/exceptions.html?page=2 – aviad