Пару дней назад на экзамене у меня возникли следующие теоретические вопросы:
(a) Объясните, что подразумевается под защитным программированием при работе с
исключительными обстоятельствами, которые могут произойти во время выполнение программы
. Вы можете ссылаться на примеры, увиденные в классе, или использовать псевдокод
, чтобы описать шаги, предпринятые для предотвращения определенных обстоятельств
, например, при попытке прочитать файл.
[5 баллов ]
(b) Кратко опишите в общих чертах, что подразумевается под обработкой исключений
в Java и чем это отличается от защитного программирования.
[5 баллов]
Я всегда считал, что защитное программирование - это целая парадигма программирования, и обработка исключений является ее частью. Во время экзамена я пишу, что в "защитном программировании" программист пытается выяснить все возможные проблемы перед выполнением логического кода, а затем и позже. вернуть значение ошибки (пример 0) из этой функции, тогда как при обработке исключений потенциальные ошибки возникают и улавливаются специальным механизмом, в котором эти ошибки интерпретируются напрямую. Это правильно? Какими должны быть правильные ответы?