Opened 3 years ago
Closed 3 years ago
#600 closed ожидаются исправления (задача сдана)
WW_exceptions kirill.kondratyuk
Reported by: | kondratyuk.kirill | Owned by: | Дмитрий Лапшин (lapshin) |
---|---|---|---|
Component: | WW_exceptions | Version: | |
Keywords: | Cc: |
Description
Change History (4)
comment:1 Changed 3 years ago by
comment:2 Changed 3 years ago by
Owner: | changed from Дмитрий Лапшин (lapshin) to kondratyuk.kirill |
---|---|
Type: | ожидается проверка → ожидаются исправления |
У тебя есть throw в noexcept. И смысл тогда? Ты сча написал бессмысленно: если в * ошибка, её не обработать, вызвавший код о ней не узнает, зато на вывод кому-то что-то печатают. Обрабатывать ошибку надо там, где можно. В main общаются с пользователем: там и выводим на экран и продолжаем ждать других команд.
} catch (const MatrixException &exception) { throw exception; }
Это вообще симптом непонимания зачем исключения.
Формат вывода: пробелы. И в исходнике тоже.
Расскажи пожалуйста как size_t может быть меньше нуля.
Зачем print_elem? Ну то есть да, проверка индекса, а может просто сделать правильный оператор вывода всей матрицы и всё?
MatrixException::MatrixException(const char *msg) : _msg(const_cast<char *>(msg)) {}
чо?!
6.
comment:3 Changed 3 years ago by
Owner: | changed from kondratyuk.kirill to Дмитрий Лапшин (lapshin) |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Здравствуйте!
Я дико извиняюсь за такую задержку - я не рассчитал своё время и проект для стажировки в JB занял оочень много времени:(. Извините
Я исправил все noexcept на отлов исключений внутри обработки запросов в мейне - так получилось красивее и гибче всего.
Про симптом непонимания все осознал, сначала видимо подумал, что так легче воспринимать, мол видно, что вот тут ошибка может выкинуться.
Формат вывода везде поправил. Теперь все как нужно.
Про size_t тут прям да.
print_elem заменил на хорошее написание взятия элемента.
ту стремную строчку с кастом заменил.
С уважением, Кирилл
comment:4 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Type: | ожидается проверка → ожидаются исправления |
if (matrix->_data == nullptr) {
Ну так не бываааает, new
кидает. Соотсвественно на out of memory ошибку ты не выведешь.
Чтение не имеет сильной гарантии.
Давай писать с пробелом: delete[] thing
. И деструкторы лапками не вызываем, кроме как в ответ на placement new.
7.
Здравствуйте
Есть вопросы
Для того чтобы сделать get_elem я сделал еще один метод,который печатает элемент, чтобы внутри обрабатывать полученные ошибки. Вопрос: как не создавая новый метод можно это сделать?
Приписал noexcept около каждого публичного метода кроме конструктора - хорошая ли это практика?
Нужно ли бо'льшую иерархию ошибок делать и как обрабатывать bad_alloc, так как мне говорят, что то что я делаю = unreachable code
С уважением, Кирилл