하드웨어 관련 고장으로 생기는 오류는 ERROR.
프로그램 자체에서 사용자 또는 개발자의 잘못으로 오류가 생기면 Exception(예외).
예외가 발생하면 프로그램은 종료 되지만, 예외 처리를 통해 실행 상태를 유지하는 것이 가능하다.
자바는 예외를 클래스로 관리한다. 프로그램 실행 중 예외가 발생하면 해당 예외 클래스로 객체를 생성하고 예외 처리 코드에서 예외 객체를 이용할 수 있도록 해준다.
모든 예외 클래스의 최상위 클래스는 java.lang.Exception 클래스.
1. 일반 예외(Exception)
- 컴파일러가 미리 체크하는 예외. -> 컴파일 전 개발자에게 알려줌.

2. 실행 예외(Runtime Exception)
- 예측할 수 없는 예외이기 때문에 컴파일러가 체크하지 않는다. 그래서 컴파일은 된다. 개발자가 예외 처리 코드를 작성해야 한다.

실행 예외의 종류
- NullPointException
- 가장 많이 일어남
- 객체 참조가 없는 참조 변수가 객체 접근 연산자 도트를 사용할 때 발생
Animal ani = null;
int age = ani.age;
//예외 발생
- ArrayIndexOutOfBoundsException
- 배열의 인덱스를 초과할 때
int[] arr = {23,123,231,1,4};
int res1 = arr[1] + arr[3] + arr[5]
//예외 발생, arr[5]는 없으므로
- NumberFormatException
- 문자열을 숫자로 바꿀 때, 숫자가 아닐 때
String str = "100a";
int a = Integer.parseInt(str);
//예외 발생
- ClassCastException
- 클래스와 클래스, 인터페이스와 인터페이스 사에이서 강제 타입 변환이 잘못될 때
Animal ani = new Dog();
Dog dog = (Dog)ani;
//정상
Animal ani2 = new Dog();
Cat cat = (Cat)ani2;
//예외 발생
'study > java' 카테고리의 다른 글
배열의 문자열화, ArrayList 섞기 (0) | 2021.01.11 |
---|---|
자바/JAVA ArrayList (0) | 2021.01.11 |
자바/JAVA 익명 객체 (0) | 2021.01.07 |
자바/JAVA 중첩 클래스, 중첩 인터페이스 (0) | 2021.01.07 |
자바/JAVA 인터페이스 - 타입 변환 다형성 (0) | 2021.01.05 |