Skip to content

Спринт 9,Выполнено ТЗ, Коммит №1 - #5

Open
LudoEd112 wants to merge 4 commits into
mainfrom
sprint_9-solution-http-api
Open

Спринт 9,Выполнено ТЗ, Коммит №1#5
LudoEd112 wants to merge 4 commits into
mainfrom
sprint_9-solution-http-api

Conversation

@LudoEd112

Copy link
Copy Markdown
Owner

No description provided.

Comment thread src/http/handler/HistoryHandler.java Outdated
} else
writeResponse(exchange, "Ошибка при обработке запроса", 404);
} catch (IOException e) {
throw new RuntimeException(e);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Не нужно кидать RuntimeException. Либо кидайте какое-то свое иключение, либо из какой-то. библиотеки, но не RuntimeException, так как это слишком общее исключение и его кидает программа, когда что-то не так, а не программист.

Comment thread src/http/handler/SubtasksHandler.java Outdated
}
break;
}
} catch (Exception e) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Не нужно ловить Exception, а нужно ловить конкретное исключение, которое может кинуть метод в обернутом участке кода.
И не нужно делать два перехвата подряд. Думаю, можно сделать так, чтобы не вкладывать один try/catch в другой.
В других местах, где встречаются аналогичные конструкции, тоже нужно поправить.

}

@Override
public ArrayList<Subtask> getEpicSubtasks(Epic epic) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Возвращайте интерфейс, а не реализацию.

}
}
} catch (IOException e) {
e.printStackTrace(System.out);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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


public void handle(HttpExchange exchange) throws IOException {
System.out.println("Началась обработка Эпика");
try (exchange) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

}

@Override
public LocalDateTime read(final JsonReader jsonReader) throws IOException {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Лучше не пробрасывать выше IOException, а обработать эту ошибку там, где она возникла.

}

@Override
public void handle(HttpExchange exchange) throws IOException {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Если вы перехватили IOException в 23 строке, то в сигнатуре эту ошибку указывать не нужно.

}

break;
case "DELETE":

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Не забывайте про ветку default.

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