자바 입출력 예외처리 Java throws IOException
자바 입출력 예외처리 컴퓨터 프로그램이 실행될 때 언제 어떤 문제가 발생할지 모르는 일이기 때문에 프로그램을 만들 때는 예외로 발생하는 상황에 대처해야 하는데 자바는 입력과 출력을 할 때 발생할 수 있는 예외에 대해서 까다롭게 규정하고 있다. 그래서 입력과 출력을 다루는 메서드에 예외처리가 없다면 컴파일 에러가 발생하게 된다.
하지만 여기서 한 가지 의문이 든다. 자바를 공부하면서 처음 입력해보는 다음 코딩을 살펴보자.
public class Test { public static void main(String[]ar){ System.out.println("Hello Java!"); } }
분명히 이 코드는 출력을 담당하는 println() 메서드가 사용되었다. 그런데 그 어디에도 예외처리가 없다. 그 이유는 자바에서 print(), println(), printf() 메서드에만 자체적으로 예외처리를 해놨기 때문이다. 이것들을 제외하고는 모두 해줘야 한다.
예제에서 하나 살펴볼건데 위에서 언급한 메서드와 더불어 출력을 담당하는 write()라는 메서드도 있는데 이녀석을 이용해보자.
여기에서는 byte []을 출력하는 과정으로 살펴본다.
byte 배열을 출력하는 내용인데 컴파일 에러가 발생한다. 출력을 담당하는 메서드가 사용되었는데 IOException 예외처리가 안되어 있기 때문에 발생하는 에러이다. 이를 해결하기 위해서는 예외처리를 해줘야 하는데 먼저 java.io.*;를 import 해주고 예외가 발생할 수 있는 메서드에 IOException을 throws 해주면 된다.
예외처리를 해주니 당연히 제대로 실행이 된다. 이렇게 해서 기본 개념을 알아봤는데 해당 단락에서 자세하게 정리하기로 하고 여기서는 이정도 개념만 정리하고 마무리한다.