오류
- 프로그램이 정상적으로 실행하지 못하는 상황
오류의 종류
Error : 심각한오류 - H/W적 오류
Exception(예외) : mild(덜 심각)한 오류 - S/W적 오류
실행시 정상적인 흐름, 프로그래머가 의도한 흐름으로 가지 못하는 상황을 일컫는다.
Throwable : 오류의 최상위
Unchecked
- 컴파일러가 Exception 처리여부를 check 안함
- 처리(Handling)보다는 code수정을 통해 해결한다.
발생이유 : Code상의 문제 때문에 발생
Complier의 check가 불가능한 경우
Checked
- 컴파일러가 Exception 처리 여부를 check함
- check하지 않았을 경우 complie 에러 발생
- Exception Handling을 통해 해결한다.
발생이유 : Code상 문제가 아니라 User가 잘못 사용하거나 실행 환경상 문제로 발생.
발생확률은 50:50이며 처리가 필요하다.
Exception 관련 Keyword
오류를 발생
- throw
오류를 처리하는 역할
- throws
- try : catch 또는 finally와 함께 사용되어야 한다.
- catch : try와 함께 사용되어야 한다.
- finally : try와 함께 사용되어야 한다.
Exception Class 정의하는 법
◇ Exception class 작성
1. checked : Exception을 extends
unchecked : RuntimeException을 extends
2. public class로 정의
3. no-argument 생성자 정의
4. 필요한 Attribute, 메소드 구현
5. class의 이름 : ~~Exception(~~는 Exception 발생원인으로 네이밍한다.)
Exception의 발생
- 구문 : throw Throwable의 객체;
- 프로그램이 정상적으로 실행하지 못하는 상황
오류의 종류
Error : 심각한오류 - H/W적 오류
Exception(예외) : mild(덜 심각)한 오류 - S/W적 오류
실행시 정상적인 흐름, 프로그래머가 의도한 흐름으로 가지 못하는 상황을 일컫는다.
Throwable : 오류의 최상위
Unchecked
- 컴파일러가 Exception 처리여부를 check 안함
- 처리(Handling)보다는 code수정을 통해 해결한다.
발생이유 : Code상의 문제 때문에 발생
Complier의 check가 불가능한 경우
Checked
- 컴파일러가 Exception 처리 여부를 check함
- check하지 않았을 경우 complie 에러 발생
- Exception Handling을 통해 해결한다.
발생이유 : Code상 문제가 아니라 User가 잘못 사용하거나 실행 환경상 문제로 발생.
발생확률은 50:50이며 처리가 필요하다.
Exception 관련 Keyword
오류를 발생
- throw
오류를 처리하는 역할
- throws
- try : catch 또는 finally와 함께 사용되어야 한다.
- catch : try와 함께 사용되어야 한다.
- finally : try와 함께 사용되어야 한다.
Exception Class 정의하는 법
◇ Exception class 작성
1. checked : Exception을 extends
unchecked : RuntimeException을 extends
2. public class로 정의
3. no-argument 생성자 정의
4. 필요한 Attribute, 메소드 구현
5. class의 이름 : ~~Exception(~~는 Exception 발생원인으로 네이밍한다.)
Exception의 발생
- 구문 : throw Throwable의 객체;