본문 바로가기

TIL

23.01.11 TIL 예외처리

오늘 한 일

  • 백준 3문제 풀기
  • 자바 예외처리 강의 듣기

공부하면서 궁금한 점

예외처리


자바는 예외가 발생했을 경우, JVM에서 예외를 던지고(Throw), 예외가 발생한 지점에서
프로그래머가 지정해 놓은 위치로 제어의 비지역 이동이 발생한다.

비지역이동 - 비지역 이동은 제어의 흐름을 주어진 문맥의 외부로 이동시키고, 미리 선언된
지점에서 이어서 수행된다.

 

*처리 키워드
try : 예외가 발생할 것으로 예상되는 코드를 블럭으로 지정하는데 사용되며, try블록 다음에는
       catch또는 finally가 와야한다
catch : 예외를 처리하는데 사용, 단독으로 사용할수 없다.
finally : 예외 발생과 상관없이 무조건 실행시킨다.
throw : 예외를 발생시키는데 사용
throws : 예외를 선언하는데 사용, 메서드를 호출한곳으로 전가하며, 메서드 선언시 함께사용
(전가된 곳에서 예외를 처리하거나 다시 throws 할수있다)

용도
1. 예외 발생시 정상 종료
2. 예외 발생시 예외 내용 보고
3. 예외 발생시 무시하고 계속 실행
4. 예외 발생시 대안적인 결과값을 대입

try-catch-finally문
try{ 
}catch(예외발생 타입1){
}catch(예외발생 타입2){
}finally{
예외 발생 상관 없이 처리해야 할 내용
(try~catch블럭에서 return이 있어도 실행)
-file close, connection close같은 자원반납등의 cleanup 코드를 위해 사용
}


예외 유형
1. Check Exception
RuntimeException 및 error를 제외하고 Throwable클래스를 직접 상속하는 클래스
ex) IOException, SQLException 등
-컴파일 타임에 확인되는 예외

2.Unchecked Exception(비확인 예외)
RuntimeException 을 상속하는 클래스
ex)ArithmeticException, NullPointerException 등
-런타임에 확인되는 예외


 내일 할 일

  • 백준 3문제 풀기
  • spring 강의 듣기