Re[2]: Какие у исключений проблемы?
От: jazzer Россия Skype: enerjazzer
Дата: 05.11.14 06:22
Оценка:
Здравствуйте, D. Mon, Вы писали:

vsb>>Какие есть серьёзные аргументы против исключений и за (извиняюсь за каламбур) возврат к кодам возврата?


DM>Недавно как раз видел:

DM>

Let's take Java, for example (which does not have destructors and does have checked exceptions, which are actually somewhat tolerable):

DM>* Unchecked exceptions can actually happen basically anywhere. Not just inside functions. Because the Java specification raises exceptions for things like stack overflows, VM internal errors, allocation failure, etc. And Java also allocates everywhere.
DM>* By the way, implicit conversions from unboxed to boxed primitives are function calls in this context and can thus trigger these errors.


Так в С++ как раз совершенно другая картина, именно из-за того, что 1) исключения не летят откуда угодно, потому что нет рантайма, который бы их бросал, и 2) из-за наличия деструкторов, в которые ты кладешь код очистки/отката в случае неудачи — именно за счет деструкторов в С++ достигается автоматическая обработка исключений.
В D тем же самым занимается scope(failure).
А в Java этого нет, да. Нам их тоже жалко
Цитата относится больше к Java, чем не к исключениям вообще.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.