Opened 4 years ago
Closed 4 years ago
#766 closed ожидаются исправления (задача сдана)
WW #14
Reported by: | Obryadina Alexandra | Owned by: | Obryadina Alexandra |
---|---|---|---|
Component: | WW_exceptions | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (6)
comment:1 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to Obryadina Alexandra |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:2 Changed 4 years ago by
Owner: | changed from Obryadina Alexandra to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
comment:3 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to Obryadina Alexandra |
---|---|
Type: | ожидается проверка → ожидаются исправления |
comment:4 Changed 4 years ago by
Owner: | changed from Obryadina Alexandra to Дмитрий Свиридкин |
---|---|
Type: | ожидаются исправления → ожидается проверка |
Version: | 1.0 → 2.0 |
comment:5 Changed 4 years ago by
Owner: | changed from Дмитрий Свиридкин to Obryadina Alexandra |
---|---|
Type: | ожидается проверка → ожидаются исправления |
Чтение номера регистра стоит выделить в отдельную функцию. И завернуть все тело цикла обработки команд в один общий блок try, чтобы не ловить одно и то же в каждой ветке.
bad_alloc при чтении должен пролетать дальше методов класса Matrix, либо вызывать другое исключение -- иначе вызывающий код не узнает об ошибке.
Matrix::Matrix(int rows_, int cols_) : rows(rows_), cols(cols_) {}
После вызова этого конструктора, нельзя использовать метод get -- будет UB.
Публичный конаструктор должен создавать готовый к использованию объект. Либо не быть публичным.
8
comment:6 Changed 4 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
При перемножении вылетает не пойманный bad_alloc. Также при вылете пойманного bad_alloc исходная матрица ломается. А вроде как не должна. Можно сделать так, чтоб ничего не ломалось.
Зачем здесь
flag
?возможно, стоит использовать более конкретный базовый класс для исключений, чем std::exception.
std::out_of_range_error, std::runtime_error... https://en.cppreference.com/w/cpp/error
7