обработка ошибок
Если в более широком смысле - исключительная ситуация, то для многих функций можно обрабатывать неприятные события типа невозможности открыть файл по возвр. ими значению, например
if(!in) //файл не был открыт
{
}
она возвращает код ошибки иногда может помочь.....
она возвращает код ошибки иногда может помочь.....
Это если исключительно для Винды писать - то да.
Если имеются ввиду возможности языка, то Zorkus прав. А вообще, чем try, catсh и throw не устраивают?
Зато у них есть несравнимое преимущество - принудительное сообщение об ошибке. Ведь если программист забудет (с кем не бывает) указать проверку результата функции, то в случае ошибки ситуация просто выйдет из под контроля. А вот throw явно переведёт программу к ближайшему catch.
Ну тогда, сори за оффтоп, небольшое лирическое отступление:) для автора.
Если кого-то не устраивают ресурсозатраты на обработку исключений - то можно понадеяться на грамотность кодинга и обойтись без них - или регулировать уровень безопаности. И выиграть в скорости.
Но если бы проверка была бы встроена в базовые операции - то ее не удалось бы отключить. Какие еще средства проверки требуются?
if(!in) //файл не был открыт
{
}
Я думаю в моем случае именно это мне и нужно. У меня много математических функций.в каком случае нужно ставить обработку исключений. допустим если функция получает 2 значения и просто перемножает их? И как это можно реализовать (разные значения)? Через if ? :confused:
Я думаю в моем случае именно это мне и нужно. У меня много математических функций.в каком случае нужно ставить обработку исключений. допустим если функция получает 2 значения и просто перемножает их? И как это можно реализовать (разные значения)? Через if ? :confused:
Полагаю, если ты реализуешь такие функции, то проще просто грамотно кодить, чем подключать исключения:) Исключения тут только замусорят код.
__try compound-statement
__except ( expression ) compound-statement
:)