강의

멘토링

커뮤니티

Inflearn Community Q&A

ariel1233787's profile image
ariel1233787

asked

(2026) Pass the Information Processing Engineer Practical Exam in One Week

Exception Handling (try-catch)

try-catch에서

Resolved

Written on

·

188

0

public static void checkAge(int age) {

if (age < 18) { throw new IllegalArgumentException("나이는 18세 이상이어야 합니다.");

}

System.out.println("나이가 적합합니다.");

}

이거에서 if가 18이상이면 if문조건을 충족하지 않으므로 빠져나가서 나이가 적합합니다. 를 프린트 하는 건 알겠는데

15세일때 if문 조건(age<18)을 충족해서 throw로 예외를 던지고 나서 실행한 뒤

System.out.println("나이가 적합합니다."); 를 다시 실행해야 하는 거 아닌가요?

checkAge() 가

System.out.println("나이가 적합합니다.");

를 실행해야 끝난다고 생각되어서요;.

else문이 아니라 그냥 if문이라서 ..throw 에 대해서 조금더 자세한 설명해주실수있나요??

pythonjavac정보처리기사

Answer 2

0

weekendcode님의 프로필 이미지
weekendcode
Instructor

throw는 그 즉시 예외(오류)를 발생시킵니다.

try 블럭 안에서 예외가 발생하면 그 즉시 catch문으로 이동하기 때문에 아래에 print문을 실행하지 않고 아래로 예외처리 부분으로 넘어갑니다.

0

저도 이 부분에 강사님께 추가로 질문드릴 게 있는데,

마지막에 trhow new (예외)......로 예외를 던져주면 catch 구문 실행 후 finally 구문을 무조건 실행해야한다고 들었는데 이 코드에선 finally가 안보여서요,

finally가 없어도 작동하나요?

weekendcode님의 프로필 이미지
weekendcode
Instructor

네. finally는 없어도 됩니다. 예외처리 여/부와 상관없이 꼭 실행해야하는 구문이 있는 경우에 명시하기 위해 있는 키워드입니다.

ariel1233787's profile image
ariel1233787

asked

Ask a question