⚡ 예외 처리

sonjh919·2023년 10월 19일
0

Java

목록 보기
27/28
post-thumbnail

📌 오류(Error)

  • System상에서 프로그램에 심각한 문제를 발생하여 실행중인 프로그램이 종료되는 것

📌 예외 처리(Exception Handling)

  • 프로그램이 실행 중 오류가 발생했을 때 적절히 대응함으로써(handling) 다른 처리 방식으로 코드의 흐름을 옮기는 것

🌈 예외 Class 계층 구조

  • Checked Exception : 예외처리를 해야 하는 Class
  • Unchecked Exception : 예외처리를 해주지 않아도 되는 Class

🌈 1. Throws

  • 메소드 선언 시 throws ExceptionName문을 추가하여 호출한 상위 메소드에게 처리를 위임
public void checkEnoughMoney(int price, int money) throws Exception{}

🌈 2. try-catch-finally

  • 발생한 예외 타입과 일치하는 catch블록이 없으면 강제 종료된다.
  • catch 블록 내에서 System.exit(0)을 호출하면 프로그램을 종료할 수 있다.
try{
	예외가 발생할 가능성이 있는 실행문(try 블록)
}
catch(처리할 예외 타입 선언){
	예외 처리문(catch 블록)
}
finally{ // 생략 가능
	예외 발생 여부와 상관없이 무조건 실행되는 문장(finally 블록)
}

🌈 3. try-with-resource

  • finally에서 처리했던 close를 try문에서 자동으로 close처리한다.
  • JDK 7부터 지원
try(BufferedReader br = new BufferedReader(new FileReader("C/data/text.txt"))){
}
catch{
}

🌈 Exception과 overriding

  • Overriding시 throws하는 Exception의 개수와 상관없이 같거나 더 구체적인 범위로만 overriding이 가능하다.
public class Parent{
			public void method() throws IOException{
			}
	}
	
	public class Child extends Parent{
		@override
		public void method() throws EOFException{
		}
	}

0개의 댓글