флоат вместо инт, и мне нужно завершить выполнение блока кода в этом месте. В случае с эксепшгнами я просто бросаю InvalidArgumentException, и где то выше отлавливаю его, и пишу в лог, или показываю пользователю сообщение, но как такое сделать на ретурн кодах?
ну если бы это был раст, то такое решили бы паникой
тут есть нюанс. если все уже написано, то да, эксепшены удобнее. но если либа в процессе написания - std::expected будет требовать явной проверки на ошибку
>передать float вместо int о.о Такое разве что при парсинге может быть.
Он пхпшник
В пхп5 тебе что угодно могло прилететь в функцию))
Если приводить аналогию с PHP, то там есть функции которые могут вернуть TRUE, FALSE и NULL (если не ошибаюсь). NULL это признак ошибки, и вот точно так же с возвращаемыми ошибками. Просто обычно стараются сделать средства для работы с такими ошибками (кроме Go).
в php раньше обычно false был признаком ошибки))
Ну может путаю, да. Но суть ты понял, надеюсь.
Обсуждают сегодня