Здравствуйте, SkyDance, Вы писали:
SD>На вершине этого стека уже есть информация о том, что за файл читается. Если, скажем, это какой-нибудь RPC, там известно, куда лезут и зачем.
Хрен там.
SD> Пишут во всякие там глобальные переменные
Ты забываешь про диск, сеть, shared memory, etc
SD>Так что если ты retry-ишь, результат совсем иной получается?
Лехко! Файл не локальный, какой файл надо открывать выясняется в результате RPC, и за ним лезут куда то в SAN через NFS. Куда именно — знает только функция дайте_мне_чего_то_там у себя внутри. И если не ловить и не логить внутри неё ошибки промежуточных стадий с контекстом этих самых стадий то наверх прилетит только "нишмагла" от чего пользы никакой совершенно.
SD>А если функции таки чистые (pure)
Т.е. ошибка таки ловится на каждой подфункции а не где то вверху со всех скопом?
SD>имени файла, на который будет сказано ENOENT.
Не на имя файла а конкретно из pread, реальный случай межжупрочим.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока