PrintWriter и PrintStream никогда не бросают IOExceptions

Локальная установка пакета npm поместит node_modules в это локальное расположение. Пакеты глобальных узлов - это обычно пакеты, которые вы хотите использовать глобально в нескольких проектах, или они содержат команды CLI (это пакеты, предоставляющие интерфейс командной строки).

Вы должны управлять своими пакетами локально для вашего проекта через файл package.json, а глобальные пакеты - через npm (используйте npm install, uninstall etc ...). Когда вы перемещаете проект или фиксируете его в git, игнорируйте папку node_modules (вы можете в любое время удалить локальную папку node_modules), так как она будет восстановлена ​​при запуске npm install с использованием информации в файле package.json.

23
задан Benedikt Waldvogel 17 November 2008 в 23:09
поделиться

5 ответов

Я думаю, что с тех пор System.out и System.err экземпляры PrintStream, еще некоторая расслабленная обработка ошибок была обеспечена. Это было, вероятно, как другие плакаты упомянули, для сглаживания пути к тем, которые переходят от C/C++ приблизительно 1995. Когда API Читателя/Писателя был добавлен, PrintWriter был создан, чтобы быть параллельными существующему PrintStream.

Одно приложение, где это поведение чрезвычайно желательно, регистрируется. Вход является вспомогательным для объемного приложения. Как правило, при входе сбоев, каждый не хочет, чтобы это целое приложение перестало работать. Таким образом это имеет смысл для System.err, по крайней мере, для игнорирования исключений.

10
ответ дан 29 November 2019 в 03:02
поделиться

Интересно, потребовало ли, потому что IOExceptions проверяются, это, чтобы Вы помещающий попытку поймали блок вокруг каждого вызова System.out.

обновление: Или броски в Вашей сигнатуре метода.

, Который стал бы раздражающим очень быстро.

7
ответ дан 29 November 2019 в 03:02
поделиться

Я действительно не знаю историю, но я думаю, что она должна была сделать Java легче для более новых программистов, которые разработчики хотели быть в состоянии использовать простые stdio методы печати без потребности знать, каковы исключения. Таким образом в том отношении это - хороший дизайн (я соглашаюсь с Вами несколько хотя).

1
ответ дан 29 November 2019 в 03:02
поделиться

Sun / Oracle должна была добавить две функции, похожие на запись, одну, которая выдает IOException, а другую, которая ничего не выдает.

1
ответ дан 29 November 2019 в 03:02
поделиться

Возможно, что дизайн был сделан кем-то происходящим из среды C, где stdio ошибки обрабатываются подобным способом. Так как я привык к той парадигме, я не назвал бы ее плохо, но я соглашусь, что это непоследовательно.

я также соглашаюсь с комментарием о попытке сделать PrintWriter легче использовать. Классы IO в Java путают (по крайней мере, для всех, кого я знаю), и возможно кто-то просто пытался сделать жизнь немного легче.

0
ответ дан 29 November 2019 в 03:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: