Другие языки программирования и технологии
В чём необходимость использования блока try catch вместо if в С++ ?
Не надо писать что так будет проще и т. п. нужна именно необходимость.
Нет необходимости. Вон, на C до сих пор пишут, и пишут много - безо всяких исключительных ситуаций.
А использование try...catch ВМЕСТО if - IMHO, забивание гвоздей микроскопом.
...
Ну разве что у нас есть кривой код, поддерживающий exception-ы, но уже в скомпилированном виде - тогда приходится цепляться за них.. . но это должно быть нечто экзотичное. Любая программа может быть представлена в структурной форме, доказано еще в 50-е, а исключения - не структурные.
Кстати, если тебе "нужно конкоретно когда можно пользоваться try и когда нельзя if" - то так и надо спрашивать, а не так, как ты спросил.
А использование try...catch ВМЕСТО if - IMHO, забивание гвоздей микроскопом.
...
Ну разве что у нас есть кривой код, поддерживающий exception-ы, но уже в скомпилированном виде - тогда приходится цепляться за них.. . но это должно быть нечто экзотичное. Любая программа может быть представлена в структурной форме, доказано еще в 50-е, а исключения - не структурные.
Кстати, если тебе "нужно конкоретно когда можно пользоваться try и когда нельзя if" - то так и надо спрашивать, а не так, как ты спросил.
try - служит для обозначения БЛОКА который может генерировать исключение.
Причем здесь if
Еще catch относиться к блоку try описанному выше, то бишь для каждого try можно разные catch
Так что это стандарт языка и читайте подробней где-то в стандартах
Причем здесь if
Еще catch относиться к блоку try описанному выше, то бишь для каждого try можно разные catch
Так что это стандарт языка и читайте подробней где-то в стандартах
Ну try catch throw больше для обработок ошибок юзается, а if просто обработка твоего условия и не более
Ну для больших условий лучше
int a = 0;
switch(a);
Case(a = 5)
{
}
if - условие
try...catch...throw - обработка исключения, думаю тут понятно
Kaiu правильно донес мою мысль....
Ну для больших условий лучше
int a = 0;
switch(a);
Case(a = 5)
{
}
if - условие
try...catch...throw - обработка исключения, думаю тут понятно
Kaiu правильно донес мою мысль....
что значит "можно пользоваться трай" ? есть у тебя библеотечная С++ функция, которая генерирует исключение, допустим что-то из библиотеки БУСТ, ну и как ты ИФ будешь использовать? у тебя все красными окнами пойдет :), ее надо обернуть в свой трай - катч, посмотреть что за ошибка произошла, можно обернуть сразу несколько вызовов. С другой стороны есть чисто Сишная функция, которая возвращает допустим 0 при ошибке, ее бессмысленно оборачивать в трай-катч, потому что она никогда не генерирует исключений - тут надо получить результат работы и проверить через ИФ что все нормально.
Похожие вопросы
- Как думаете, стало бы ПО стабильнее, если бы все компиляторы сами ВЕСЬ код "заворачивали" в try-catch'и?
- Try{ }catch c++ Можете по-простому объяснить операторы try,catch? Cпасибо
- VBA. Чем заменить множествееное использование конструкции "If...Then"?
- Как объединить два оператора " if "?
- [PASCAL] IF - ELSE IF - ELSE. Программирование.
- Проблема с программой в Pascal ABC,Встречено ';',а ожидалось ':'. Если менять, то вылетает ещё ошибка с if
- Не могу правильно написать else if на Паскале
- Почему использование if в коде тормозит работу программы?
- Помогите найти ошибку. Программа не работает. Пишет ELSE без IF. Не могу понять в чем дело.
- Объясните толком как и для чего команда " if "C++