Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Сринт 7. Добавить функцию чтения и записи задач в CSV файл #3

Merged
merged 4 commits into from
Dec 17, 2024

Conversation

AlekseyGur
Copy link
Owner

Добавить функцию чтения и записи задач в CSV файл

Copy link

@avfyodorov avfyodorov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добрый вечер, Алексей! 

Очень хорошая работа, от меня всего пара небольших уточнений.

@@ -0,0 +1,7 @@
package ru.alexgur.kanban.service;

public class ManageLoadException extends Exception {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше наследовать от RuntimeException
Из ТЗ:
кидать собственное непроверяемое исключение ManagerSaveException. Благодаря этому можно не менять сигнатуру методов интерфейса менеджера.

public class RuntimeException extends Exception — базовый класс для ошибок во время выполнения. Относится к необрабатываемым исключениям (uncatched\unchecked). Как сказано в описании класса — это суперкласс, исключения которого могут быть выброшены во время нормальной работы JVM.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Поменял на RuntimeException

@@ -0,0 +1,7 @@
package ru.alexgur.kanban.service;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Собственные исключения обычно хранят в отдельных пакетах, например, exceptions

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Перенёс исключения в ru.alexgur.kanban.exceptions;

this.csvSplitter = csvSplitter;
}

public static FileBackedTaskManager loadFromFile(File file) throws ManageLoadException {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

throws ManageLoadException

Если наследовать от RuntimeException, то исключение будет непроверяемым и оно само пробросится, можно будет обойтись без throws

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Поменял на RuntimeException, убрал throws

} catch (IOException e) {
throw new ManagerSaveException("Произошла ошибка во время записи файла.");
}
} catch (Exception e) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Действительно ли нужно перехватывать Exception ?

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Убрал внешний try-catch

на RuntimeException, убрать лишние throws-try-catch
Copy link

@avfyodorov avfyodorov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добрый день, Алексей!

Замечаний нет.
Работа принята.

@AlekseyGur AlekseyGur merged commit 4212add into main Dec 17, 2024
1 check passed
@AlekseyGur AlekseyGur deleted the sprint_7-solution-in-file-manager branch December 17, 2024 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants