|
|
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
Нужна помощь... как вы думаете что будет результатом работы вот этого кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 16:06 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
Я, скорее всего, не втыкаю.... т.к. с билдером не работал никогда. Но зачем мешать С++ исключения (try catch) и структурные (__try __finally) ? Или в BCB все по-своему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 16:44 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
redskin ну во-первых C++Builder implements C++ exceptions with Win32 structured exceptions во-вторых По-крайней мере в BCB __try и try равнозначны для c++ кода (__try можно еще использовать в pain c) в-третьих вот пример из документации Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. У моего примера есть тонкость - там в finally блоке вылетает еще одно исключение, которое сразу же глушится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 17:03 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
Не мешайте вместе __finally и catch -- они разные, один из VCL, другой из C++ Используйте тогда вместо catch __except ________________________________________________________ Глюк - это высокоорганизованная система не поддающихся определению частиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 20:28 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
Lelikk ткните меня в документацибю, где я не прав... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2005, 00:23 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
Lelikk Да и еще, посмотрите на мой 2й пример, он взят из документации! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2005, 13:48 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
Вообще-то мешать в одной функции C++ exceptions и WIN32 SEH-exeptions нельзя. Компилятор не даст это скомпилировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2005, 22:00 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
Или Борланд опять впереди планеты всей и свое что-то выдумал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2005, 22:03 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
MasterZivИли Борланд опять впереди планеты всей и свое что-то выдумал ? Это VC6 была такая отсталая, что не позвoрляла смешивать, а VC7.1 уже научился если мне память не изменяет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2005, 08:56 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
Я тоже замечал не раз какие-то нелогичные вещи с вложенными блоками try catch __finally, потому теперь никогда так не делаю, выделяю каждый блок в функцию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 08:00 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
MasterZiv К чему эти абстрактные рассуждения? Я уже привел пример из документации. Lepsik Может вы что-нибудь подскажете? Карабас Барабас Это как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 10:32 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
более того - __try/__finally это не SEH, это просто Borlan Language Extension. А на счет SEH в докуменации сказано C++Builder implements C++ exceptions with Win32 structured exceptions Если учесть что все это я уже писал, то получается какая-то странная дискуссия... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 10:35 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
finally не является Стандартом языка, поэтому за его поведение отвечает разработчик компилятора. Разводить спор на тему необходимости finally не буду, но видимо пока в Комитете по Стандарту есть Страутсруп, finally в С++ не бывать. Буду щее покажет. Относительно SEH http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt__set_se_translator.asp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 10:50 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
funikovyuri Карабас Барабас Это как? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 11:00 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас А в чем отличие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 12:37 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
funikovyuri Карабас Барабас А в чем отличие?отличие в том, что так работает как надо особенно "радуют" глюки с возвращением значений из функций, в которых есть __finally, в итоге пришел в выводу о необходимости оформления кадого блока try...catch и try...__finally в отдельной функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2005, 12:45 |
|
||
|
Знатокам BCB и C++ exceptions
|
|||
|---|---|---|---|
|
#18+
Если бы! вот этот код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Хоть и не приводит к зависанию, а к какому-то Internal Exception CXXXX все таки не сообветсвует желаемому поведению (а именно отображением сообщения "1")!!! Дело в том что у меня не просто finally, а finally с исключением и его обработкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2005, 14:20 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33169696&tid=2032972]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 211ms |
| total: | 371ms |

| 0 / 0 |
