Вурдалак
Продвинутый новичок
Это в случае примитивного дизайна, когда представление напрямую работает с моделью. Если речь о нормальном дизайне, то с точки зрения модели это именно исключение, решение о том переспросить ли пользователя будет делаться вне domain. Для domain это не штатная, а не имеющая смысла ситуация. Исключение — это выход из текущего контекста, а не завершение программы. Исключения можно ловить, если чо.Простейший пример: человек вводит имя файла, но опечатался, программа пытается открыть файл и возникает исключение ( ! ), хотя для программы это вполне штатная ситуация -- нужно просто переспросить имя файла, завершать программу не нужно.
Что ты имеешь в виду? Я чо, могу написатьНет. Вы продвигаете объект, Вы его создали и вызвали на нём метод.
Так устроена Scala. By design. Каждый объект формируется и редуцируется к ответу.
В C++ можно написать такой объект, который никуда не редуцируется, вообще пустой, но не компилируется... Из-за несовместимости типов при инициализации. В Scala так нельзя. By design. Любой объект создаётся успешно
Код:
try {
val foo = new Foo(-1)
} catch {
case e: Exception => println("Invalid object: " + foo)
}
Последнее редактирование: