티스토리 뷰
예외 :
문법적으로는 이상이 없어서 컴파일 시점에는 아무런 문제가 없지만
프로그램 실행 중에 발생하는 예기치 않은 사건으로 발생하는 오류
예외가 발생하는 경우 :
정수를 0으로 나누는 경우
배열의 첨자가 음수 또는 범위를 벗어나는 경우
부적절한 형 변환이 일어나는 경우
입출력을 위한 파일이 없는 경우 등
예외처리의 용도
정상 종료
예외내용 보고
예외 발생 시 무시하고 계속 실행
정상적인 값으로 변경
예외 관련 클래스의 계층 구조 : Object -> Throwable -> Error
-> Exception
즉, 예외 처리 최상 클래스는 Throwable이다.
Error는 메모리 부족 등과 관련하여 시스템적으로 발생하는 심각한 오류로 처리할 수 없다.
Exception의 RuntimeException은 실행 시 JVM에서 발생하는 오류로 컴파일 때 검사되지 않는다.
그래서 일반적으로는 Error와 RuntimeException 클래스들과 연관된 예외는 프로그램에서 처리하지 않는다.
그 이유는 예외 처리 후의 이득보다 그 과정에서의 노력이 더 크기 때문이다.
주요 멤버 :
public String getMessage(); //이 Throwable 오브젝트의 상세 메시지 캐릭터 라인을 반환해준다.
public void printstackTrace(); //Throw 가능 객체 및 그 백 트레이스를 표준 에러 스트림에 출력
Exception 클래스의 주요 하위 클래스들
NoSuchMethodException 메소드가 존재하지 않을 때
ClassNotFoundException 클래스가 존재하지 않을 때
CloneNotSupportedException 객체의 복제가 지원되지 않는 상황에서 복제를 시도하고자 하는 경우
IllegalAccessException 클래스에 대한 부정적인 접근
InstantiationException 추상클래스나 인터페이스로부터 객체를 생성하고자 한느 경우
InterruptedException 스레드가 인터럽트 되었을 때
RuntimeException 실행 시간에 예외가 발생한 경우
IOException 입출력과 관련된 예외 처리
RuntimeException 클래스의 주요 하위 클래스
ArithmeticException 0으로 나누는 등의 산술적인 예외
NegativeArraySizeException 배열의 크기를 지정할 때 음수의 사용
NullPointerException Null 객체의 메소드나 멤버 변수에 접근하고자 하는 경우
IndexOutOfBoundException 배열이나 스트림의 범위를 벗어날 때
SecurityException 보안을 이유로 메소드를 수행할 수 없을 때
'java,web study > 2주차 (7월 8일~14일)' 카테고리의 다른 글
예외처리 03 (0) | 2013.07.11 |
---|---|
예외처리 02 (0) | 2013.07.11 |
익명이너클래스 (Anonymous Inner Class) (0) | 2013.07.11 |
이너클래스 (0) | 2013.07.11 |
세로 구구단 (0) | 2013.07.11 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 정렬
- 오라클
- 데이터베이스
- 정보
- 충북대
- 이론
- db
- 자바
- 클래스
- 소켓
- HTML
- 프로젝트
- 배열
- 도전과제
- SVN
- 파이썬
- 아두이노
- 알고리즘
- SQL
- JQuery
- 자바스크립트
- 게임
- 잡담
- 졸업작품
- 안드로이드
- CSS
- 청주
- 메모장
- ERP
- jsp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함