ch8-1 프로그램 오류
프로그램 오류에는 종류가 3가지가 있다.
1) 컴파일 에러 : 컴파일 할 때
2) 런타임 에러 : 실행할 때 > 프로그램 종료
3) 논리적 에러 : 컴파일도 통과 실행도 통과 하지만 작성 의도와 다르게 동작하는 경우
컴파일 에러 javac.exe (자바 컴파일러)
이클립스에서 자동으로 해준다.
컴파일러
1) 구문체크 (문법에 맞게)
2) 번역
3) 최적화
public class ExceptionTest {
public static void main(String[] args) {
system.out.println(args[0]);
}
}
간단한 계산은 컴파일러가 계산을 한다 (최적화)
extends Object 와 같은 생략된 코드들을 추가해준다.
실행중 발생하는 에러를 : 런타임 에러
발생하는 이유?
매개변수로 넘어온 값이 없기 때문에, 에러가 뜬다.
컴파일은 잘 되었다는 뜻
javac 실행은 java class이름
- java의 런타임 에러
에러(error) 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
예외(exception) 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
out of memory Error (OM)
간단한 것들은 우리가 처리할 수 있는 '예외' 이다.
예외처리..... 의 이유
저장할 기회가 있어야 하는데, 예외 처리의 정의란 예외의 오류에 대한 대비한 코드를 작성하는 것
컴파일 실행 javac className.java
실행시 java className
ch8-2 예외 클래스의 계층 구조
심각한 오류 미약한 오류 모두 런타임 에러의 종류이다.
Exception의 자손을 두 부분으로 나눌 수 있다.
Exception 과 그 자손들 하나는 RuntimeException
모든 예외는 Exception의 자손이지만, 그 중에서도
RunTimeException의 자손과 그렇지 않은 것을 둘로 나눌 수 있다.
ch8-3 Exception과 RuntimeException
외적인 요인들 vs 프로그래머의 실수(RuntimeException 클래스들)
입출력 예외 / 입력, 출력 (I/O) Input, Output
- IOException 입출력 예외
- ClassNotFoundException 클래스가 존재하지 않는 경우
런타임 예외
ArithmeticException 산술계산예외
ClassCastException 형변환
NullPointerException 널포인터
IndexOutOfBoundsException 배열 범위가 벗어나는 경우
>> 프로그래머의 실수에 의해 발생하는 경우이다.
'자바의정석' 카테고리의 다른 글
자바의 정석 7장 연습문제 (1~19) (0) | 2022.03.31 |
---|---|
[자바의 정석 - 기초편] ch7-51,52 익명 클래스 (0) | 2022.03.24 |
[자바의 정석 - 기초편] ch7-45~50 내부클래스의 제어자와 접근성 (0) | 2022.03.24 |
[자바의 정석 - 기초편] ch7-42~44 내부클래스의 종류, 특징, 선언 (0) | 2022.03.24 |
[자바의 정석 - 기초편] 7-40,41 디폴트 메서드와 static메서드에 대한 강의입니다. 객체지향개념의 마지막 강의 (0) | 2022.03.23 |