Какой нормальный человек выложит вконтакте информацию повышенной конфиденциальности? Какой нормальный человек вообще ее выложит в интернет на публичный ресурс?
Ну, например, есть сложное ядро проекта, имеющее свои классы для всего, что только можно. Я пишу модуль. Мне нужно взять данные из формы, обработать и записать в базу. Если база недоступна, то отправить на почту. Так как я хочу полностью знать, что делает мой модуль (сюрпризов быть не должно), мне надо:
1. Посмотреть на всех уровнях логики, как обрабатываются исключения неправильных входных данных.
2. Посмотреть на всех уровнях логики, как обрабатываются исключения ошибки соединения с базой данных.
3. Посмотреть в классе работы с базой данных, какие исключения он может выбрасывать, какие из них мне нужно перехватывать, какие — нет.
Все-таки, столь широкое exception'ирование сродни макаронному коду, особенно при описанной Вами архитектуре — когда есть куча исключений и куча отловов их на разных уровнях логики.
Это безусловно нужно.
Но в случае именно «критической» ситуации (например, надо срочно экспортировать картинку, а она не экспортируется) это будет оптимальным решением.
После краша драйверя видяхи обычно очень проблематично получить доступ к консоли — по крайней мере, во время проблем с fglrx я в этом убедился.
И, потом, сомневаюсь, что офисные пользователи системы будут в консоли поднимать драйвера.
Что касается сервера и сетевухи — может быть, тут будет даже проще, если сервер уйдет в kernel panic и авторебут, чем дождется админа с консолью для «починки»
Это не только уменьшает отказоустойчивость.
Как недавно писал Линус, 99% программистов проверяют ошибки только при write(), но не при close().
Так что, это еще и чревато неперехваченными ошибками в куче программ.
Sony Vaio.
1. Посмотреть на всех уровнях логики, как обрабатываются исключения неправильных входных данных.
2. Посмотреть на всех уровнях логики, как обрабатываются исключения ошибки соединения с базой данных.
3. Посмотреть в классе работы с базой данных, какие исключения он может выбрасывать, какие из них мне нужно перехватывать, какие — нет.
И применимо это не только для PHP, но и для других языков, работающих с исключениями.
Но в случае именно «критической» ситуации (например, надо срочно экспортировать картинку, а она не экспортируется) это будет оптимальным решением.
У меня после траблов c ненайденным DRI помогал только ребут по Ctrl-Alt-Del.
И, потом, сомневаюсь, что офисные пользователи системы будут в консоли поднимать драйвера.
Что касается сервера и сетевухи — может быть, тут будет даже проще, если сервер уйдет в kernel panic и авторебут, чем дождется админа с консолью для «починки»
Лично мне сомнительна полезность десктопа с упавшим драйвером видеокарты или сервера с упавшим драйвером сетевухи.
Как недавно писал Линус, 99% программистов проверяют ошибки только при write(), но не при close().
Так что, это еще и чревато неперехваченными ошибками в куче программ.