예외처리란 프로그램을 실행시 오류로 인해 비정상적으로 종료되는 경우를 대처하는 방법이다.

 

 

오류의 종류

ArithematicException : 정수 0으로 나눌때 에러

ClassCastException : 객체 형이 다른 형태 캐스팅 할때 맞지 않으면 나는 오류

NullPointException : 실제 값이 아닌 null을 가지고 있는 객체/변수를 호출할 때

IOException : 그림파일 불렀는데 그림이 없다 

OutOfMemoryException : 프로그램을 계속 실행하기 위한 메모리가 부족할 때 throw되는 예외 

NumberFormatException : 예를들어 float형인데 double값을 집어넣는 오류

 

 

 

예외처리 방법

 

 

정수형 a를 15로 초기화하고, b를 0으로 초기화 하였다. 그리고 c를 a/b라는 식으로 초기화하였는데,

문제는 b가 0 이므로, 이 나눗셈은 정상적으로 실행시킬수 없었다. 결국 오류발생

그러므로 try - catch문을 이용하여 예외 처리를 진행하였다. catch(Arithmeticexception e) 블록내에

"나누기 오류"라는 실행문을 집어넣었고, try-catch문이 끝나면, c를 a+b로 초기화한후 이 산술문을 또다시

출력하도록 하였다. 그 결과 catch 블록내의 실행문이 출력된 후 try-catch 문이 끝난 후의 실행문도 출력되었다.

 

 

 

 

 

e.printStackTrace();는 오류가 일어났는데, 무슨 오류인지 모를때 사용한다. 먼저 catch문 괄호 안에 일반적인 오류를 나타내는 Exception을 집어넣는다.

그리고 블록내에 e.printStackTrace(); 실행문을 넣고 자바를 실행시키면

아래와 같이 오류 이름을 알려준다. 나눗셈 오류인 ArithmeticException 이었다.

 

 

 

 

 

finally문은 오류건 아니건 블록내에 있는 실행문을 무조건 실행시키는 역할을 한다. 일단 자바 실행에 아무런 오류가

없기 때문에, catch의 블록내의 실행문들은 실행되지 않는다. 하지만 finally 블록내의 실행문은 오류건 아니건 무조건

실행되기 때문에 자바를 실행시키면 finally 속 "무조건 출력"이라는 실행문이 출력되는 걸 확인할 수 있다.

 

 

 

 

 

'자바' 카테고리의 다른 글

싱글톤(Singleton)  (0) 2023.05.11
Getter와 Setter  (0) 2023.05.10
인터페이스(Interface)  (0) 2023.05.08
오버라이딩(Overriding)  (0) 2023.05.04
오버로딩(Overloading)  (0) 2023.05.03

+ Recent posts