170 похожих чатов

Не, ты не в ту сторону пошел и не на

том делаешь акцент. никаких фатальных ошибок не существует. есть только два типа:

1) ожидаемые ошибки.
2) исключительные ситуации.

в твоем примере, то, что ты называешь "исключением" — это ожидаемая ошибка. а то, что ты называешь "фатальной ошибкой" — это исключение.

пример:

* ты делаешь калькулятор, деление на ноль — это ожидаемая ошибка.
* ты делаешь консольную утилиту для конвертирования файлов. пользователь указал неправильный путь к файлу — в этом конкретном случае это вполне ожидаемая ошибка, ведь пользователь может ошибиться при наборе пути.
* ты пишешь сервер. при запуске он читает файл конфига. если файл не найден, то это исключительная ситуация, потому что файл конфига должен всегда существовать (ну, допустим это так для нашего примера).

при этом:

* ожидаемые ошибки возвращаются через return, а исключения — через throw.

правило пальца:

* будет ли программа исполняться, если удалить все обработчики исключений (удалить все try-catch)? если ответ отрицательный — значит исключения используются неправильно.

1 ответов

8 просмотров

Огромное спасибо,очень доступно!)

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
4
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Карта сайта