Заслуживают ли исключения Java свой собственный файл? - PullRequest
3 голосов
/ 09 октября 2010

Всякий раз, когда я определяю новое исключение, я склонен делать одну из двух вещей:

  1. Создать файл исключений, который содержит список всех новых исключений, определенных в моем проекте.
  2. Поместите каждое определенное исключение в тот же файл, что и класс, в который оно было брошено.

Netbeans не нравится, когда у меня публичное исключение определено в том же файле, что и другойкласс, такой как в пункте 2. Хотя я еще не пробовал это, я полагаю, что это будет кричать на меня по тем же причинам, что в одном файле более одного исключения, как в пункте 1.

Если каждое исключениедействительно есть свой собственный файл, или есть какой-то другой стиль, который Netbeans примет?Я довольно новичок в Java и Netbeans и хотел бы услышать, каков подходящий стиль.

Ответы [ 3 ]

9 голосов
/ 09 октября 2010

Я помещаю исключения в свой файл.Почему бы и нет?

Вы не можете иметь более одного открытого класса в одном файле.Если вы пытаетесь поместить публичное исключение в другой публичный класс во имя какой-то эффективности, я бы рекомендовал вернуться и перечитать спецификацию Java.

5 голосов
/ 09 октября 2010

Исключением является класс, требующий такого же обращения, как и все другие классы.

Следовательно, если вам нужно, чтобы исключение было общедоступным (что несколько необходимо, если вы хотите использовать его вне одного класса), вы должны поместить его в свой собственный файл. Как и любой другой класс.

Никакой магии, просто разработана Java.

Вам станет нравиться тот факт, что Java сделала очень сильный выбор дизайна. Это делает вашу жизнь проще в долгосрочной перспективе.

2 голосов
/ 09 октября 2010

Хорошей практикой является создание исключений для отдельных классов (не внутренних классов).Это делает их более пригодными для повторного использования, так что класс A не использует класс, вложенный в класс B. Поскольку ваша библиотека классов становится больше, вам не придется искать внутренний класс, чтобы быть более дружественным к разработке.

Исходя из этого, рекомендуется использовать только один класс на файл с именем файла, представляющим имя класса.

При этом я склонен делать исключения во внутренних классах класса, который выбрасываетих, если они не являются достаточно общими для использования другими классами.Обычно из-за сроков разработки и того факта, что я знаю, что класс исключений достаточно специализирован, чтобы его нельзя было использовать где-либо еще.Я постепенно перехожу к тому, чтобы поместить их в отдельные файлы в качестве практики, когда сроки разумны, потому что более утомительно для доступа к внутреннему классу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...