1. Java / Говнокод #9558

    +119

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    ApiException(final ResourceException cause, final Representation repr,
    			final Class<? extends ErrorResponse> responseClass) {
    		super(cause);
    		this.cause = cause;
    		
    		ErrorResponse response = null;
    		
    		try {
    			response = new ObjectMapper().readValue(repr.getText(), responseClass);
    		} catch (final Exception e) {
    			log.error("Error attempting to parse the error response", e);
    		} finally {
    			this.response = response;
    		}
    	}

    Возникла ошибка при возникновении ошибки...

    Запостил: someone, 28 Февраля 2012

    Комментарии (7) RSS

    • Вроде как в программе как таковой ошибки нет. Текст сообщения немного некрасиво написан, но это к филологам.
      Ответить
    • try {
        throw new MyException(...);
      } catch (Exception ex) {
        log.Write("Error throwing exception: " + ex.ToString());
      }
      Ответить
      • А если MyException не наследуется от Exception? Или в Java такого быть не может?
        Ответить
        • Есть Throwable, от которого наследуются Error и Exception. От Exception наследуется RuntimeException, не требующий обязательной обработки (либо декларации throws). Хорошим тоном считается наследоваться от RuntimeException. Мне лично вообще противно кидать исключения из конструкторов, я предпочитаю использовать для этой цели фабричные методы.
          Ответить
          • Можно даже реализовывать Throwable, не наследуя ни от Error, ни от Exception. И такого монстра всё равно можно бросать и ловить, и он считается checked exception.
            Ответить
            • Throllable
              Ответить
            • Throwable не нужно реализовывать, это обычный класс. Его можно расширить или даже просто выбросить
              http://ideone.com/wQOOM
              .
              Ответить

    Добавить комментарий