예외와 예외 클래스

채종윤·2023년 7월 26일
0
post-thumbnail

예외 : 잘못된 사용 또는 코딩으로 인한 오류
일반 예외(Exception) : 컴파일러가 예외 처리 코드 여부를 검사하는 예외
실행 예외(Runtime Excepiton) : 컴파일러가 예외 처리 코드 여부를 검사하지 않는 예외

예외처리 방법 2가지
1. try ~ catch
예외 처리 코드는 try-catch-finaaly블록으로 구성

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class ExceptionExam {
	public static void main(String[] args) {
		FileReader fr=null;
		try {
			fr = new FileReader("poem.txt");
			int c;
			while((c = fr.read())!=-1){
				System.out.println((char)c);
			}
		
		} catch (FileNotFoundException e) {
			
			e.printStackTrace();
			System.err.println("파일없음");
		}
		catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.err.println("입출력오류");
		} finally{
			try {
				fr.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}
  1. throws 선언
public class ExceptionExam2 {
	public static void main(String[] args) {
		try {
			readFile();
			System.out.println("파일 처리 성공");
		} catch (IOException e) {		
			e.printStackTrace();
			System.err.println("파일 처리 실패");
		}
	}
	
	private static void readFile() throws IOException  {//외부처리의 오류내용을 메인에서 받기위해 throws함
		FileReader fr=null;
		try {
			fr = new FileReader("poem.txt");
			int c;
			while ((c = fr.read()) != -1) {
				System.out.print((char) c);
			} 
			System.out.println();
		} finally {
			if(fr!=null) fr.close();
			System.out.println("파일 읽기 종료");
		}		
		}
}
profile
안녕하세요. 백앤드 개발자를 목표로 하고 있습니다!

0개의 댓글