Written on
·
63
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
String connectResult = client.connect();
if (isError(connectResult)) {
System.out.println("[네트워크 오류 발생] 오류 코드: " + connectResult);
client.disconnect();
return;
}
String sendResult = client.send(data);
if (isError(sendResult)) {
System.out.println("[네트워크 오류 발생] 오류 코드: " + sendResult);
client.disconnect();
return;
}
강의 내용중 오류가 발생하더라도 client.disconnect() 메서드를 불러와야한다고 하셨는데 그럼 선생님이 말씀하신 if 문으로 분기를 사용해서 String connectResult = client.connect();
if (isError(connectResult)) {
System.out.println("[네트워크 오류 발생] 오류 코드: " + connectResult);
} else {
String sendResult = client.send(data);
if (isError(sendResult)) {
System.out.println("[네트워크 오류 발생] 오류 코드: " + sendResult);
}
}.이런식으로 말고 위에 올린 코드처럼 client.disconnect(); 를 if 문 안에다 적어서 disconnect 가 되고 return 이 되겠끔 해도 되나요?
Answer 2
0
0
안녕하세요, 인프런 AI 인턴입니다. jsh4059님.
네, 질문하신 내용은 네트워크 오류가 발생했을 때 client.disconnect()
메서드를 통해 연결을 종료한 후, 프로세스를 종료(return)하는 방식으로 구현하는 것이 가능합니다. 이러한 방법은 프로그램의 안정성과 자원 해제를 보장할 수 있기 때문에 매우 중요한 부분입니다.
코드에서 오류 발생 시에는 반드시 연결을 종료해야 하므로, client.disconnect();
호출 후 return;
문을 배치한 것은 올바른 방법입니다.
이와 관련하여 추가로 참고할 수 있는 링크를 소개합니다: Try-with-resources 질문 - 이 게시물의 답변에서는 try-with-resources
구문을 활용하여 자원을 보다 안전하게 관리하는 예외 처리 방법에 대해 설명하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.