예외처리 - Exception Handling
: 예외가 발생된 코드 내에서 예외를 처리하는 방법
ArithmeticException : 0으로 나누는 경우에 발생됨
NullPointerException : null값을 가진 참조변수로 객체 멤버 접근시 발생됨
ArrayIndexOutOfBoundsException : 배열의 index번위를 넘어서 참조하는 경우
ClassCasstException : 형변환 연산자 사용시 타입이 일치하지 않는 경우 발생됨
try~ catch 문 사용
try{
문장1; 문장2;
}catch( 예외클래스명 e){
예외처리코드;
}
다중 catch 문 사용
try{
문장1; 문장2;
}catch( 예외클래스명 e1){
예외처리코드;
}catch( 예외클래스명 e2){
예외처리코드;
}catch( 예외클래스명 e3){
예외처리코드;
}
try 블록 내에서 실행되는 문장이 여러 개 있는 경우에 ,
발생되는 예외가 달라 질 수 있다. 이런 경우에 사용 가능하다.( 다형성 적용 가능 )
※주의할 점은 반드시 계층구조가 낮은 클래스부터 catch해야 됨
finally문 사용
try{
문장1; 문장2;
}catch( 예외클래스명 e1){
예외처리코드;
}catch( 예외클래스명 e2){
예외처리코드;
}finally{
반드시 수행되는 문장
}
예외 발생 여부와 상관없이 항상 실행되어야 하는 문장을 지정한다
예제)
다중 try~catch 문
printStackTrace() 메서드 : 예외가 발생되기까지의 모든 과정과 예외코드 라인번호를 출력함
(자세한 예외정보를 출력하거나 디버깅을 위해서 printStackTrace()메서드를 사용함)
getMessage() 메서드 : 간략하게 예외정보를 출력함
예외종류 2가지
1. Compile checked 예외
- 컴파일시 예외처리 여부를 컴파일러가 체크한다. 예외처리가 안되어 있으면 컴파일 에러가 발생됨
- IOException 과 SQLExceptino 계열
자바I/O 및 데이터베이스 관련 작업을 수행하는 메소드를 사용하기 위 해서는 반드시 예외처리를 해야 된다.
2. Compile unchecked 예외
- 컴파일시 예외처리 여부를 컴파일러가 체크하지 않는다
컴파일러가 체크하지 않는 이유는 개발자가 코드를 잘못 작성했기 때문에
발생된 예외이기 때문이다.
- RuntimeExceptions계열
'웹프로그래밍 무작정따라하기 > JAVA_Spring' 카테고리의 다른 글
[Spring] 프레임워크 Basic - Bean / construtor injection(생성자 호출) (0) | 2020.10.19 |
---|---|
[Spring] 프레임워크 Basic - xml 설정파일 연결 (0) | 2020.10.15 |
[Spring] 프레임워크 개발환경 설정 Basic (0) | 2020.10.15 |
[JSP] 환경설정- Eclipse에 Tomcat 설치 (0) | 2020.10.15 |
[JAVA] 예외처리 - throws문 (0) | 2020.08.10 |
댓글