2016-01-27 10 views
1

У меня есть исключение, которое расширяет RuntimeException, и у меня есть атрибут List.Каков наилучший способ использования List on RuntimeExceptions?

public class ExperterBadRequestException extends RuntimeException { 

private final List<String> errors; 

Автоматические инструменты оценки, как Sonar бросить критическую ошибку: Проблема заключается в том, что RuntimeExceptions являются Serializable и List является интерфейсом нет.

Итак, что мне делать? Изменить из списка на ArrayList (не верьте этому), не следует использовать списки в этом случае? сделайте writeObject и readObject за это? Или, может быть, это предупреждение не имеет смысла?

+0

Вы вообще сериализуете исключение? – wero

+1

Единственное, что имеет значение, - это то, является ли тип * актуальным * сериализуемым, и это имеет значение только в том случае, если вы когда-либо сериализуете исключение, что на самом деле редко. – Andreas

+0

Не явным образом, я не уверен в том, что я использую его на трассировке журнала или в других целях на выброшенных исключениях. На самом деле меня беспокоит передовая практика. –

ответ

1

The problem is that RuntimeExceptions are Serializable, and List is an interface don't.

Нет, это не проблема. Пока он инициализируется сериализуемой реализацией List,, например, любой из них в JDK, это не проблема.

So what should I do?

Ничего.

Change from List to an ArrayList (don't believe that)

Ненужный.

should not use Lists in this case?

Нет, почему?

make an writeObject and readObject for it?

Ненужный.

Если у вас возникли проблемы, вы не указали, что это на самом деле.

+0

Вы, конечно же, правы. +1, и я удалил свой ответ. –

+0

Автоматическая оценка таких инструментов, как Sonar, вызывает критическую ошибку, но я понял. –

+0

Я закончу свой вопрос, чтобы иметь смысл. –

Смежные вопросы