ext_646638: (Default)
http://rdia.livejournal.com/ ([identity profile] rdia.livejournal.com) wrote in [personal profile] vitus_wagner 2017-03-17 04:41 am (UTC)

> основная, это отсутствие типизации.

К сожалению, как вам там уже сказали, это не универсально. Unix cli - это полуавтомат, который может работать с ошибками. Строгая типизация - это штука, которая по определению работает без ошибков. А так, конечно, Haskell смог бы заменить bash.

> Всего машиночитаемого в обработке ошибок - единственный int, который относится не к куску данных, а ко всей программе.

Это было изящно решено товарищами из Digital в их операционных системах. В последней - OpenVMS оно выглядит так:

$ HELP/MESSAGE/LIBRARY=TOOLS:[MYPROJ]MYMESSAGES.MSGHLP$DATA ACCVIO
%MSGHLP-F-MDFERR, error accessing Help Message database file "TOOLS:[MYPROJ]
MYMESSAGES.MSGHLP$DATA"
-RMS-E-FNF, file not found
-SYSTEM-W-NOSUCHFILE, no such file

Ошибки - это строки с процентами и "-" в выводе. Т.е. сначала даётся машино-человеко-читаемый код %MSGHLP-F-MDFERR (подсистема-серьёзность-ошибка), после которого идёт нормальное описание.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting