Немного O/T, но...
существует довольно хорошая концепция проекта, которая говорит, что Вы никогда не должны требовать обработки исключений. Это означает просто, что необходимо быть в состоянии запросить любой объект для любых условий, которые могли бы выдать исключение, прежде чем то исключение будет выдано.
Как способность сказать "перезаписываемый ()" перед "запись ()", наполняют как этот.
Это - достойная идея, и, если используется, это заставляет контролируемые исключительные ситуации в Java выглядеть добрыми глупый - я имею в виду, проверяя на условие и право после этого, будучи вынужденным все еще записать попытку/выгоду того же условия?
Это - довольно хороший шаблон, но контролируемые исключительные ситуации могут быть осуществлены компилятором, эти проверки не могут. Также не все библиотеки сделаны с помощью этого шаблона разработки - это - просто что-то для учета, когда Вы думаете об исключениях.