ООП. Try{}catch{}

  • Автор темы Автор темы midnight
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
M

midnight

Привет, нам препод по ООП задал вопрос, подскажите, пожалуйста, ответ.
Код:
try{/*...*/}
catch(exception)
{
/*...*/
try{/*...*/} 
catch(exception)
{/*...*/}
}
Почему без внутреннего catch не будет работать? Причем в обоих catch исключения одинаковые!
Буду оч признательна!
 
Для: midnight
Идея конструкции примерна такая:
try { если здесь произойдет исключение } catch (вот такого вот типа ) { то выполнить следующий код }
Т.е. эксепшены ловятся только в блоке try. Если бы они ловились еще и в catch, то нельзя было бы перебросить пойманный эксепшн.
 
Прошу прощения. Немного другой вопрос.
Код:
try
{
}
catch(Exception &exception)
{
}
catch(...)
{
try
{
}
catch(Exception &exception)
{
}
}
вопрос слд, почему исключение &exception может возникать в catch(...) , если мы уже проверили его наличие?
Заранее спасибо)
 
у меня все ок.
 
<!--QuoteBegin-midnight+20:01:2008, 17:43 -->
<span class="vbquote">(midnight @ 20:01:2008, 17:43 )</span><!--QuoteEBegin-->вопрос слд, почему исключение &exception может возникать в catch(...) , если мы уже проверили его наличие?
[snapback]94292" rel="nofollow" target="_blank[/snapback]​
[/quote]Потому что "наличие", если его можно так назвать, проверяется только в пределах блока try {...}. Если бы catch тоже "ловил" исключения внутри себя, то:
1. Нельзя было бы перебросить пойманное исключение еще выше.
2. Любое исключение типа Exception в блоке catch приводило бы к бесконечному циклу.
 
это опять не весь/правельный код ... :)
Почему не правильный код? Если создать простую форму в Builder 6, в Project1.cpp как такой код будет.

Потому что "наличие", если его можно так назвать, проверяется только в пределах блока try {...}. Если бы catch тоже "ловил" исключения внутри себя, то:
1. Нельзя было бы перебросить пойманное исключение еще выше.
2. Любое исключение типа Exception в блоке catch приводило бы к бесконечному циклу.
Спасибо большое!!!!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab