CH8-4~6 예외 처리하기, try-catch문의 흐름
[자바의 정석 - 기초편] ch8-4~6 예외 처리하기, try-catch문의 흐름
이번시간에는 예외처리하는 방법 배워보겠다.
그전에 전에 배웠던걸 복습해보자.
프로그램 오류에는 세가지가 있다. 1. 컴파일에러 2. 런타임에러 3. 논리적 에러…
이 중 런타임 에러는 자바에서 error와 exception(예외)로 구분한다.
예외는 다시 Exception클래스와 그 자손,
그리고 그 자손들 중에 RuntimeException과 그 자손으로 구분할 수 있다.
예외를 처리할때 사용하는 문장이 try-catch문이다.
예외가 발생할 가능성이 있는 문장을 try 블럭에 넣고, 예외 발생시 수행할 문장을 catch 블럭에 넣는다.
catch문 블럭 내에 또다른 try-catch가 포함될 수도 있다.
또한 하나의 catch문 안에서 선언된 변수 e1
,e2
…eN
은 해당 catch블럭 내에서만 유효한 지역변수이기 때문에 모든 병렬적으로 나열된 모든 catch문에 같은 이름의 변수를 사용해도 되지만, catch문 내의 다른 catch문이 있을때는 같은 이름의 변수 사용하면 안된다. 영역이 겹치기 때문임.
참고로 try블럭과 catch블럭은 단 한줄을 밑에 작성하더라도 if문과 달리 {}를 생략할 수 없다.
try-catch문에서의 흐름