예외 종류
1. Error
자바 프로그램 바깥에서 발생한 예외
서버의 디스크 고장
메인보드 맛이 감
Error: Processor에 영향을 준다
Exception: thread에만 영향을 준다
2. Exception
3. Runtime Exception == Unchecked Exception
예외가 미리 발생할 것을 미리 감지 못한다.
코드를 실행 시키고 값을 넣어봐야 에러가 발생할 수 도 있고, 아닐 수 도 있다.
4. Compile Exception == Checked Exception
예외가 미리 발생할 것을 알 수 있다.
코드 작성 시 compile 에러가 발생해서 코드를 수정해야줘야 한다.
throws 선언
method 선언부에 throws 을 선언하면, 이 method를 호출하는 코드에서는
반드시 try-catch를 작성해야 한다. 아니면 또 throws 하던가.
throws는 호출한 함수로 예외를 전달한다.
try-catch 작성 안하면 compile 에러가 발생한다.
일부로 실행 예외 코드 작성
컴파일 에러 X : 안 발생
실행 예외 O : 발생
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:
Index 5 out of bounds for length 5
at thread.controll.ExceptionSample.arrayOutOfBounds(ExceptionSample.java:13)
at thread.controll.ExceptionSample.main(ExceptionSample.java:6)
ArrayIndexOutOfBoundsException는 실행 예외이다.
실행을 해봐야지 index[5] 가 없다는 것 을 알고 프로그램이 멈춘다.
try catch를 넣으면?
컴파일 에러 X : 안 발생
실행 예외 X : 안 발생
try문 안에서 에러가 발생하면 catch가 처리한다.
즉 실행예외는 쓰레드를 멈추게 하는데
예상 못한 실행 예외를
미리 try catch로 작성 추가 만 해줘도
중간에 쓰레드가 멈추지 않는다.
'학습 기록 (Learning Logs) > 자바의 신' 카테고리의 다른 글
4장 변수 (0) | 2024.07.22 |
---|---|
3장 객체지향 (0) | 2024.07.22 |
2장 컴파일 (0) | 2024.07.22 |
1장 프로그래밍이란 무엇인가? (0) | 2024.07.22 |