В catch не выполняется преобразование типов для параметра.
А как с принципом подстановки ?
Раньше не работал.
То есть нельзя было сгенерить исключение производного типа, а ловить catch'em с параметром базового типа.
А сейчас ничего не изменилось ?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>В catch не выполняется преобразование типов для параметра. LVV>А как с принципом подстановки ? LVV>Раньше не работал. LVV>То есть нельзя было сгенерить исключение производного типа, а ловить catch'em с параметром базового типа.
Не помню такого. Вроде всегда можно было и никто особо на эту тему не баговал.
LVV>А сейчас ничего не изменилось ?
Здравствуйте, LaptevVV, Вы писали:
LVV>В catch не выполняется преобразование типов для параметра. LVV>А как с принципом подстановки ? LVV>Раньше не работал. LVV>То есть нельзя было сгенерить исключение производного типа, а ловить catch'em с параметром базового типа.
Здравствуйте, LaptevVV, Вы писали:
LVV>То есть нельзя было сгенерить исключение производного типа, а ловить catch'em с параметром базового типа.
Как это нельзя, когда льзя? Например, пытаешься ловить std::exception, а ловишь все, которые от него отнаследованы. А если хочешь ловить отдельно какой-нибудь std::out_of_range, то его надо ловить до std::exception
Здравствуйте, LaptevVV, Вы писали:
LVV>В catch не выполняется преобразование типов для параметра. LVV>А как с принципом подстановки ? LVV>Раньше не работал. LVV>То есть нельзя было сгенерить исключение производного типа, а ловить catch'em с параметром базового типа. LVV>А сейчас ничего не изменилось ?
Ничего не менялось. Как вариант ловится раньше, или кидается что то необычное, помню в какой-то стороней библиотеке было throw int, const char*.