Exception 종류
ArithMeticException
package ex1_try_catch;
public class ArithMeticExceptionTest {
public static void main(String[] args) {
//정수를 0으로 나누면 발생하는 예외
int x = 10;
int result = 0;
result = x/0;
}
}
NullPointerException
package ex1_try_catch;
public class NullPointerExceptionTest {
public static void main(String[] args) {
//자바는 객체지향
//프로그램에서 발생 수 있는 예외들의 경우도 클래스로 존재
// NullPointerException
// 프로그램에서 가장 빈번하게 나타나는 예외
// 객체가 제대로 생성되지 않은 상태에서 사용하려고 하는 경우 발생
//배열을 만들기만하고 생성하지 않음
String strArray = null;
//생성되지 않은 배열을 출력하려고 함
System.out.println(strArray[0]);
}
}
ArrayIndexOutOfBoundException
package ex1_try_catch;
public class ArrayIndexOutOfBoundExceptionTest {
public static void main(String[] args) {
//배열에서 index 범위를 초과해서 사용할 때 발생
int arr[] = {1,6,9,7,10};
System.out.println(arr[6]);
}
}
NumberFormatException
package ex1_try_catch;
public class NumberFormatExceptionTest {
public static void main(String[] args) {
//NumberFormatException
//잘못된 문자열을 숫자로 형변환 할 때 발생
//문자열 "111"은 정수타입으로 변환 가능
//문자열 "11.11"은 정수타입으로 변환 불가
String str01 = "11";
String str02 = "11.11";
//정수형태 문자열 정수변환
int n1 = Integer.parseInt(str01);
System.out.printf("str01을 숫자로 변환 : %d\n", n1);
//오류 발생
int n2 = Integer.parseInt(str02);
System.out.printf("str02를 숫자로 변환 : %f\n", n2);
}
}