250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- java
- 프록시
- html form
- 참조변수
- 코드트리조별과제
- 백준
- 오블완
- 테스트코드
- 코딩테스트
- ocp
- 추상클래스
- 스프링컨테이너
- equals()
- fielderror
- 김영한
- HttpServletResponse
- 싱글톤
- JSON
- 코드트리
- 스프링
- 인터페이스
- 오버라이딩
- DI
- 다형성
- http 메시지 컨버터
- @configuration
- 티스토리챌린지
- objecterror
- 의존관계
- 서블릿
Archives
- Today
- Total
minOS
자바의 정석 ch8-1~3 프로그램 오류 , 예외 클래스의 계층구조 본문
728x90
ch8-1 프로그램 오류
- 컴파일 에러(compile-time error) : 컴파일 할 때 발생하는 에러
- 런타임 에러 (runtime error) : 실행 할 때 발생하는 에러
- 논리적 에러 (logical error) : 작성 의도와 다르게 동작
1) 컴파일 오류 예시
터미널에서 javac로 컴파일
javac를 이용해서 컴파일하면 에러가 난다. (실행 X)
컴파일러 역할
- 구문 체크
- 번역
- 최적화 (생략된 코드 추가 등)
2) 런타임 에러 예시
해당 코드를 실행하면
해당 오류 발생한다.
터미널에서 실행하면
컴파일은 되지만 실행 시점에서 오류가 발생한다.
3) Java 런타임 에러 종류 (error는 프로그램이 비정상 종료 되지만, 예외 처리는 종료를 막을 수 있다.)
1) 에러 (error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
2) 예외 (exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
4) 예외처리의 정의와 목적
1) 정의 : 프로그램 실행 시 발생할 수 있는 예외읭 발생에 대비한 코드를 작성하는 것
2) 목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것
ch8-2 예외 클래스의 계층 구조
Throwable | +-----------+------------+ | | Exception Error | | +--------+-------+ | | | | RuntimeException IOException OutOfMemoryError | | | +----+----+ FileNotFoundException etc. | | NullPointerException IllegalArgumentException etc.
Throwable : 모든 오류의 조상 클래스
런타임 에러
- Exception : 미약한 오류
- Error : 심각한 오류
ch8-3 Exception과 RuntimeException
1) RuntimeException 클래스들 (자손 클래스) : 프로그래머의 실수로 발생하는 예외
2) Exception 클래스들(자손 클래스) : 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외
Exception │ ├── RuntimeException │ ├── NullPointerException │ ├── IllegalArgumentException │ ├── ArrayIndexOutOfBoundsException │ └── ArithmeticException │ └── IOException ├── FileNotFoundException └── EOFException
구조 설명:
1. Exception: 모든 체크 예외의 최상위 클래스.
- RuntimeException: 런타임 예외의 최상위 클래스 (비체크 예외).
- NullPointerException: `null` 객체 참조 시 발생.
- IllegalArgumentException: 메서드에 부적절한 인자 전달 시 발생.
- ArrayIndexOutOfBoundsException: 배열 인덱스 범위 초과 시 발생.
- ArithmeticException: 수학적 오류 발생 시 (예: 0으로 나누기).
- IOException: 입출력 작업 중 발생하는 예외.
- FileNotFoundException: 파일을 찾을 수 없을 때 발생.
- EOFException: 파일 또는 데이터 스트림 끝에 도달 시 발생.
728x90
'TIL > 남궁성의 자바의 정석' 카테고리의 다른 글
자바의 정석 ch8-7~8 printStackTrace(),멀티 catch블럭 (0) | 2024.09.05 |
---|---|
자바의 정석 ch8-4~6 예외 처리하기 , try- catch문 흐름 (0) | 2024.09.04 |
자바의 정석 ch7-42~44 내부클래스의 종류, 특징, 선언 (2) | 2024.02.11 |
자바의 정석 ch7-40 디폴트 메서드와 static 메서드 (0) | 2024.01.12 |
자바의 정석 ch7-39 인터페이스의 장점2 (2) | 2024.01.09 |