@ldmitriy

Исключение это и есть ошибка?

Почему нельзя заменить термин исключение ошибкой?
  • Вопрос задан
  • 109 просмотров
Решения вопроса 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Вот тут разжевано.
https://stackoverflow.com/questions/912334/differe...

По сути исключения это и есть ошибки, но некоторые мы можем обработать, на других мы ломаемся.
Например WebException в принципе предсказуемо, у меня паршивый канал и я пробую еще раз, FormatException вывожу что то в лог.
Просто Exception гашу все на уровне приложения, что бы его не разрушить, записываю в лог и предлагаю пользователю кнопки поругать меня или попробовать снова

UPD
Самое главное забыл
https://docs.microsoft.com/ru-ru/dotnet/standard/e...
Ответ написан
Комментировать
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
Исключение это и есть ошибка?
запланированная возможности ошибки (обычно высоко вероятной)
ps предполагая вероятную ошибку, мы даем инструмент ее обработки.. (я думаю, что изобретатели Exception думали именно так
pps по опыту кодинга && рефакторинга, думаю, это классный инструмент.. но не для новичков
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
Ну а в чём моя ошибка, если ты заставляешь меня делить на ноль? Или просишь открыть меня файл, который ты почему-то не создал? Или так забил память, что мне её не хватило? Поэтому я тебе и сообщаю, об исключительной ситуации, разгребать последствия которой нужно тебе, а не мне - обычной функции. Возможно это у тебя ошибка. А мой код работает чётко.
Ответ написан
Комментировать
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Ошибка (bug) — здесь нет исключений:
decimal Умножить(decimal множитель1, decimal множитель2)
{
    // программист перепутал операторы
    return множитель1 + множитель2;
}

Ошибки допускаются, находятся и исправляются.

Исключение (exception) — здесь нет ошибок:
string ReadFileTextUtf8(string fileName)
{
    if (String.IsNullOrEmpty(fileName))
        throw new ArgumentNullException("fileName");

    return File.ReadAllText(fileName, Encoding.UTF8);
}

Исключения выбрасываются (throw) и обрабатываются (handle) — с помощью catch (выборочная обработка) либо finally (финальная обработка).

Во избежание путаницы, английское "error" лучше вообще не употреблять. Как правило, люди, использующие "error", плохо понимают, о чём говорят.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы