Читайте также:
|
|
Чтобы комфортно работать с исключениями в С++ вам нужно знать лишь три ключевых слова:
Catch может "ловить" любой тип данных, так же как и throw может "кинуть" данные любого типа. Т.е. throw AnyClass(); будет правильно работать, так же как и catch (AnyClass &d) {};.
catch может "ловить" данные любого типа, но вовсе не обязательно при это указывать переменную. Т.е. прекрасно будет работать что-нибудь типа этого:
catch(dumbclass) { } так же, как и catch(dumbclass&) { }Так же можно "поймать" и все исключения: catch(...) { }
Троеточие в этом случае показывает, что будут пойманы все исключения. При таком подходе нельзя указать имя переменной. В случае, если "кидаются" данные нестандартного типа (экземпляры определенных вами классов, структур и т.д.), лучше "ловить" их по ссылке, иначе вся "кидаемая" переменная будет скопирована в стек вместо того, чтобы просто передать указатель на нее. Если кидаются данные нескольких типов и вы хотите поймать конкретную переменную (вернее, переменную конкретного типа), то можно использовать несколько блоков catch, ловящих "свой" тип данных:
Дата добавления: 2015-08-27; просмотров: 39 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Множественное наследование | | | Объект RadioGroup. |