Поймай ошибку типа в C ++ - PullRequest
       27

Поймай ошибку типа в C ++

2 голосов
/ 28 августа 2009

Как проверить, имеет ли результат правильный тип (int, float, double и т. Д.), А затем выдать и поймать исключение, если это не так?

Спасибо всем,

Влад.

Ответы [ 3 ]

4 голосов
/ 28 августа 2009

Не могли бы вы дать более подробную информацию о том, что дает вам "результат", вы сможете определить, что вам нужно оттуда и, скорее всего, лучше.

Если все, что вам действительно нужно, это проверить тип, используйте typeid. Подробнее здесь

Следуя модели редактирования сообщений Дэниелом, чтобы на самом деле ответить на вопрос, заявив что-то еще ...

Из моего другого комментария:

Вы должны сделать это, прежде чем у вас есть просто результат. Проверка на переполнение после не очень хорошая идея. Сделать проверку на номера перед добавлением, чтобы увидеть, если они будут переполнены или ограничат ввод быть меньше половины максимального значения тип

4 голосов
/ 28 августа 2009

Нет способа узнать это во время выполнения с C ++. Это будут ошибки времени компиляции.

Чтобы ответить на ваш второй вопрос, вы должны вручную проверить переполнение / недостаточность буфера или использовать более подходящий тип данных.

0 голосов
/ 28 августа 2009

Самое близкое, что вы получите - dynamic_cast .

...