Почему функция обработки ошибок по какому-то «соглашению программистов» должна первым параметром принимать/возвращать код ошибки, а не сообщение?
Почему функция обработки ошибок по какому-то "соглашению программистов" должна первым параметром принимать/возвращать код ошибки, а не сообщение?
В PHP почему-то throw new Expression($msg, $code);
Понятно, что часто нужно еще данные передать вместе с сообщением, поэтому станет $msg, $data, $code, но код ошибки? почему его подвинули вперед?
Все очень просто.
callback-функция в ноде принимает переменное число аргументов. Если возможную ошибку передавать последним аргументом, то тогда для каждой API-функции нужно будет помнить фактическое количество аргументов callback функции, чтобы ошибку записать в нужную переменную.
Если вам это не нравится - используйте промисы.
Судя по числу подписавшихся одно хочу точно сказать, если на форуме влупить фразу "по соглашению программистов" верит чрезвычайно больше народу, чем если влупить "я тут подумал, почему бы не сделать..." - видимо так и работает