221017 예외 처리
1. 메서드
2. 상속
3. 오버라이딩 vs 오버로딩
4. this,super
5. 접근제어자
6. 은닉 (getter setter)
7. 다형성 (클래스형변환)
8. static
9. final
10. abstract
11. 인터페이스
12. 예외 처리
예외 처리
예외란? 에러!
예외에는 컴파일러 체크 예외, 실행 예외가 있습니다
1.컴파일 에러(컴파일러 체크 예외)-쉽게 생각해서, 문법적으로 틀린 개념.
2.실행 에러(실행 예외)-실행했더니 에러. 컴파일하는 과정에서 예외처리 코드를 검사하지 않는 예외.
예외처리
-에러에 대한 처리를 의미한다
-자바는 예외처리 메커니즘을 제공한다
-프로그램에서 문제가 될만한 부분을 예상하여 사전에 '문제가 발생하면 이렇게 처리하라'라고 프로그래밍 하는 것을
예외 처리라고 합니다.
대표적인 실행 예외의 종류
주요 실행 예외
1.NullPointException
80%가 이 에러. 객체 참조가 없는 상태. 즉 null값을 갖는 참조 변수로 객체 접근 연산자인 dot(.)를 사용했을 때 발생.
2.ArrayIndexOutOfBoundsException
배열 인덱스 범위 초과
3.NumberFormatException
문자열로 되어 있는 데이터를 숫자로 변경하는 경우
4.ClassCastExcepion
형 변환이 잘못 이루어졌을 때
등등 많은 에러들이 있다. 외울 필요는 없고 경험이 중요. 많이 고쳐봐야 함.
자바는 에러에 대해서 굉장히 친절하게 알려주는 편. 모르겠음 구글링.
stackoverflow라는 사이트에서 에러에 대한 도움이나 신규문법에 대한 에러들을 조언받을수있음
예외의 예시
package day10.exception.trycatch;
public class RunTimeEx {
public static void main(String[] args) {
//실행예외(runtime)
// String s = null;
// if(s!=null) {
// s.charAt(0);
// }
//ArrayIndexOut
// int[] arr = {1, 2, 3};
// arr[5]=10;
//ClassCast
// Object o = new Object();
// Person p = (Person)o;
//numberformat
// String s = "홍길동";
// Integer.parseInt(s);
}
}
순서대로
runtime - s는 null인데 null이 아닐 경우란 조건은 에러
arrayindexout-배열크기가 3인데 인덱스번호가 5라는 에러
classcast-형변환이 이루어지지 않았는데 클래스형변환 시도 에러
numberformat-문자로만 이루어진 문자를 숫자로 변환하려는 에러