Не могу перехватить exception'ы по try/catch!
В C++ Buikder 5 пишу:
...
int a,b,c;
a=10;
b=0;
try {c=a/b}
catch(EDivByZero&) {
Application->MessageBox("Не дели на ноль!", "...", MB_OK);
}
...
В настройках Tools/Debugger Options отключил флаги перехватов исключений отладчиком. Но система все равно выдает сообщение вида "Division by zero" ("в краткой форме", без предисловия типа "Process... raised exception... at address...).
Как ее заставить выводить МОЙ текст, по русски?!
Заранее спасибо всем, кто ответит.
А ты пробовал запустить EXE, не из оболочки?
Цитата:
Originally posted by man2002ua
А ты пробовал запустить EXE, не из оболочки?
А ты пробовал запустить EXE, не из оболочки?
Естессно... Выдает то же самое сообщение, как и внутри IDE.
такое впечатление, что выражение catch он (компилятор) требует, но в рантайме BCB прыгает все равно в свое "штатное" болото.
Цитата:
Originally posted by p519446
Естессно... Выдает то же самое сообщение, как и внутри IDE.
такое впечатление, что выражение catch он (компилятор) требует, но в рантайме BCB прыгает все равно в свое "штатное" болото.
Естессно... Выдает то же самое сообщение, как и внутри IDE.
такое впечатление, что выражение catch он (компилятор) требует, но в рантайме BCB прыгает все равно в свое "штатное" болото.
интересно, никогда такого не видел. Дай EXE посмотреть, плз :) [man@kiev.vectis.ru]
Цитата:
Originally posted by man2002ua
интересно, никогда такого не видел. Дай EXE посмотреть, плз :) [man@kiev.vectis.ru]
интересно, никогда такого не видел. Дай EXE посмотреть, плз :) [man@kiev.vectis.ru]
Ok, завтра пришлю (сейчас этот компутер от меня весьма далеко :)
Может, у меня Builder кривой? /я его на базаре купил, как и все нормальные люди/ :(
Кстати, для 5-го Билдера достаточно сервис пак #3 ? (у меня NT Workstation 4.0)
Дело непонятно в чем, ведь catch - это всего лишь метка для выхода при exception! Она указывает на твой код MessageBox и все. Короче до завтра, я домой пошел :)
99% Глюки компилятора. копи\пастом твой примерчик скопировал (т.е. ниче ни менял) и Builder 6 мне выдал именно то что ты там написал нормальными русскими буквами.