프로그램에서 오류가 발생하는 상황은 크게 두가지이다. 하나는 프로그램 코드 작성 중 실수로 발생하는 컴파일 오류이고 다른 하나는 실행중인 프로그램이 의도하지 않은 동작을 하거나 프로그램이 중지되는 실행 오류이다.
프로그램이 비정상적으로 종료되는 것을 막기 위해 예외처리를 할 수 있다.
프로그램에서 예외 상황이 발생 했을 경우 프로그램의 갑작스러운 종료를 막고, 정상적인 실행을 유지 할 수 있도록 처리하는 코드를 예외처리 코드라고 한다.
try {
} catch (처리할 예외클래스명 객체1) {
} finally {} // 예외 발생으로 try{} 안의 코드가 중단되더라도 반드시 실행해야 하는 코드
public class IOSample {
private int num;
public void input() throws IOException {
num = System.in.read();
}
public void output() {
System.out.println(num);
}
}
public static void main(String[] args) {
IOSample test = new IOSample( );
try{
test.input();
test.output();
} catch (IOException e) {
e.printStackTrace();
} catch (ArrayIndexOutOfBoundsException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ThrowEx ex = new ThrowEx();
ex.printStr(5);
}
public class ThrowEx {
String str = null;
public void printStr(int cnt) {
if(str == null) {
System.out.println("str이 null이다");
throw new NullPointerException();
}
for(int i = 0; i < cnt; i++) {
System.out.println(str);
}
}
}