Всякий раз, когда я пишу функции на языках с динамической типизацией, я все еще думаю о том, что лучше всего возвращать, чтобы упростить обработку ошибок при вызове функции и поддерживать текучесть программ.
Что, по мнению сообщества, нужно возвращать, когда в функциях, использующих язык с динамической типизацией, дела идут неправильно?
Мои общие мысли:
если вы возвращаете фактическое значение, вы должны либо вернуть данные с использованием этого типа, если функция успешно выполнена, либо null, если что-то было неожиданным.
исключения исключения должны быть зарезервированы для общих служебных функций
вы не должны возвращать значение по умолчанию для определенного типа, если произошли ошибки, например, если пользователь ожидает строку, вы не должны возвращать пустую строку, если произошли ошибки.