IT/Java

자바 예외처리, exception

노마드오브 2018. 8. 1. 22:00

package test;


public class Test3 {


public static void main(String[] args) {

System.out.println("프로그램 시작");

// 예외: 프로그램 실행동안 예기치 못한 에러

int a=10, b=0, c=0;

c = a / b; // 0으로 나눔 예외발생!

System.out.println("c -> " + c);

System.out.println("프로그램 정상종료");

} // main()의 끝


}




package test;

public class Test4 {

public static void main(String[] args) {
System.out.println("프로그램 시작");
// 예외: 프로그램 실행동안 예기치 못한 에러
int a=10, b=0, c=0;
if (b != 0) {
c = a / b;
} else { // b == 0
System.out.println("0으로 나눌수 없습니다.");
}
System.out.println("c -> " + c);
System.out.println("프로그램 정상종료");
}

}


package test;

public class Test5 {

public static void main(String[] args) {
System.out.println("프로그램 시작");
// 예외: 프로그램 실행동안 예기치 못한 에러
int a=10, b=0, c=0;
try {
c = a / b; // 0으로 나눔 예외발생!
} catch (ArithmeticException e) {
System.out.println("정수를 0으로 나눈 예외발생");
}
System.out.println("c -> " + c);
System.out.println("프로그램 정상종료");
} // main()의 끝

}



package test;

import java.util.List;

public class Test6 {

public static void main(String[] args) {
System.out.println("프로그램 시작");
// 예외: 프로그램 실행동안 예기치 못한 에러
int a=10, b=2, c=0;  // b가 0이면, ArithmeticException  발생NullPointerException 발생 케이스를 위해서 2로 초기화했음.
try {
// 예외가 발생할 것 같은 실행문
c = a / b; // 0으로 나눔 예외발생!
System.out.println("try문");
List<String> list = null;
list.add("성춘향");  // NullPointException 발생
} catch(ArithmeticException e) {
System.out.println("산술연산 관련 예외발생");
} catch(NullPointerException e) {
System.out.println("null 참조 예외 발생");
} catch(RuntimeException e) {
System.out.println("런타임 예외발생");
} catch(Exception e) {
System.out.println("예외발생");
} finally {
System.out.println("예외발생여부 상관없이 정리작업");
}
System.out.println("c -> " + c);
System.out.println("프로그램 정상종료");
} // main()의 끝

}