#коды_ошибок — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #коды_ошибок, aggregated by home.social.
-
[Перевод] Почему я предпочитаю исключения, а не значения ошибок
Качественная обработка ошибок — это ключ к созданию надёжных программ; но программистов она часто пугает, ведь всегда найдётся ещё один пограничный случай. В традиционных объектно-ориентированных языках программирования используются специальные классы исключений, которые можно выбрасывать, чтобы прекратить обычный поток управления и немедленно сообщить об ошибке. Давайте рассмотрим пример, в котором применено защищённое от ошибок целочисленное деление: int safeDiv(int a, int b) {
if (b == 0)
throw Div0(); // Исключения передаются особым образом
return a / b; // Теперь-то всё абсолютно безопасно, ведь так?
} Новые языки программирования склонны применять сообщения об ошибках в функциональном стиле и кодировать ошибки в возвращаемый тип. Например, Go кодирует ошибку в возвращаемый тип при помощи кортежа (res, err) , а Rust возвращает Result<T, E> — тип-сумму результата и ошибки.https://habr.com/ru/companies/ruvds/articles/843728/
#ruvds_переводы #исключения #отладка #ошибки_в_программе #сообщения_об_ошибках #коды_ошибок #exception
-
[Перевод] Почему я предпочитаю исключения, а не значения ошибок
Качественная обработка ошибок — это ключ к созданию надёжных программ; но программистов она часто пугает, ведь всегда найдётся ещё один пограничный случай. В традиционных объектно-ориентированных языках программирования используются специальные классы исключений, которые можно выбрасывать, чтобы прекратить обычный поток управления и немедленно сообщить об ошибке. Давайте рассмотрим пример, в котором применено защищённое от ошибок целочисленное деление: int safeDiv(int a, int b) {
if (b == 0)
throw Div0(); // Исключения передаются особым образом
return a / b; // Теперь-то всё абсолютно безопасно, ведь так?
} Новые языки программирования склонны применять сообщения об ошибках в функциональном стиле и кодировать ошибки в возвращаемый тип. Например, Go кодирует ошибку в возвращаемый тип при помощи кортежа (res, err) , а Rust возвращает Result<T, E> — тип-сумму результата и ошибки.https://habr.com/ru/companies/ruvds/articles/843728/
#ruvds_переводы #исключения #отладка #ошибки_в_программе #сообщения_об_ошибках #коды_ошибок #exception
-
[Перевод] Почему я предпочитаю исключения, а не значения ошибок
Качественная обработка ошибок — это ключ к созданию надёжных программ; но программистов она часто пугает, ведь всегда найдётся ещё один пограничный случай. В традиционных объектно-ориентированных языках программирования используются специальные классы исключений, которые можно выбрасывать, чтобы прекратить обычный поток управления и немедленно сообщить об ошибке. Давайте рассмотрим пример, в котором применено защищённое от ошибок целочисленное деление: int safeDiv(int a, int b) {
if (b == 0)
throw Div0(); // Исключения передаются особым образом
return a / b; // Теперь-то всё абсолютно безопасно, ведь так?
} Новые языки программирования склонны применять сообщения об ошибках в функциональном стиле и кодировать ошибки в возвращаемый тип. Например, Go кодирует ошибку в возвращаемый тип при помощи кортежа (res, err) , а Rust возвращает Result<T, E> — тип-сумму результата и ошибки.https://habr.com/ru/companies/ruvds/articles/843728/
#ruvds_переводы #исключения #отладка #ошибки_в_программе #сообщения_об_ошибках #коды_ошибок #exception