@crescent

Как поймать ошибку в visual studio?

Заметил. что некоторые ошибки vs2015 просто проглатывает.
Те если ставить try - catch то она их ловит и останавливает.
Но часть ошибок VS ловит и без try - catch, а вот какие-то не ловит и не выводит на экран с ошибкой.

Как мне сделать чтоб и при остальных ловило и останавливало?

Вот к примеру
char ch = str[5];

длина str всего 3. Поэтому возникает ошибка, но vs не вылетает
Как такое исправить???
  • Вопрос задан
  • 199 просмотров
Решения вопроса 1
TrueBers
@TrueBers
Гуглю за еду
Вот к примеру
char ch = str[5];
длина str всего 3. Поэтому возникает ошибка, но vs не вылетает

Оно и не должно вылетать. Выход за пределы массива это неопределённое поведение. Компилятор вправе делать что угодно при неопределённом поведении, хоть систему вам форматировать, хоть пойти закурить. Он не обязан выкидывать исключение. Контроль этого только на вашей ответственности. Либо используйте статический анализатор, он вам покажет, что вы не так делаете.

А ещё лучше, для строк используйте специально созданный для этого контейнер std::string, для статических массивов — std::array, для динамических — std::vector. И ничего не будет вылетать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы