home.social

#коды_ошибок — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #коды_ошибок, aggregated by home.social.

  1. [Перевод] Почему я предпочитаю исключения, а не значения ошибок

    Качественная обработка ошибок — это ключ к созданию надёжных программ; но программистов она часто пугает, ведь всегда найдётся ещё один пограничный случай. В традиционных объектно-ориентированных языках программирования используются специальные классы исключений, которые можно выбрасывать, чтобы прекратить обычный поток управления и немедленно сообщить об ошибке. Давайте рассмотрим пример, в котором применено защищённое от ошибок целочисленное деление: int safeDiv(int a, int b) {
    if (b == 0)
    throw Div0(); // Исключения передаются особым образом
    return a / b; // Теперь-то всё абсолютно безопасно, ведь так?
    } Новые языки программирования склонны применять сообщения об ошибках в функциональном стиле и кодировать ошибки в возвращаемый тип. Например, Go кодирует ошибку в возвращаемый тип при помощи кортежа (res, err) , а Rust возвращает Result<T, E> — тип-сумму результата и ошибки.

    habr.com/ru/companies/ruvds/ar

    #ruvds_переводы #исключения #отладка #ошибки_в_программе #сообщения_об_ошибках #коды_ошибок #exception

  2. [Перевод] Почему я предпочитаю исключения, а не значения ошибок

    Качественная обработка ошибок — это ключ к созданию надёжных программ; но программистов она часто пугает, ведь всегда найдётся ещё один пограничный случай. В традиционных объектно-ориентированных языках программирования используются специальные классы исключений, которые можно выбрасывать, чтобы прекратить обычный поток управления и немедленно сообщить об ошибке. Давайте рассмотрим пример, в котором применено защищённое от ошибок целочисленное деление: int safeDiv(int a, int b) {
    if (b == 0)
    throw Div0(); // Исключения передаются особым образом
    return a / b; // Теперь-то всё абсолютно безопасно, ведь так?
    } Новые языки программирования склонны применять сообщения об ошибках в функциональном стиле и кодировать ошибки в возвращаемый тип. Например, Go кодирует ошибку в возвращаемый тип при помощи кортежа (res, err) , а Rust возвращает Result<T, E> — тип-сумму результата и ошибки.

    habr.com/ru/companies/ruvds/ar

    #ruvds_переводы #исключения #отладка #ошибки_в_программе #сообщения_об_ошибках #коды_ошибок #exception

  3. [Перевод] Почему я предпочитаю исключения, а не значения ошибок

    Качественная обработка ошибок — это ключ к созданию надёжных программ; но программистов она часто пугает, ведь всегда найдётся ещё один пограничный случай. В традиционных объектно-ориентированных языках программирования используются специальные классы исключений, которые можно выбрасывать, чтобы прекратить обычный поток управления и немедленно сообщить об ошибке. Давайте рассмотрим пример, в котором применено защищённое от ошибок целочисленное деление: int safeDiv(int a, int b) {
    if (b == 0)
    throw Div0(); // Исключения передаются особым образом
    return a / b; // Теперь-то всё абсолютно безопасно, ведь так?
    } Новые языки программирования склонны применять сообщения об ошибках в функциональном стиле и кодировать ошибки в возвращаемый тип. Например, Go кодирует ошибку в возвращаемый тип при помощи кортежа (res, err) , а Rust возвращает Result<T, E> — тип-сумму результата и ошибки.

    habr.com/ru/companies/ruvds/ar

    #ruvds_переводы #исключения #отладка #ошибки_в_программе #сообщения_об_ошибках #коды_ошибок #exception