본문 바로가기

JAVA/자바의 신

14장 예외

예외 종류

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로 작성 추가 만 해줘도

중간에 쓰레드가 멈추지 않는다.

'JAVA > 자바의 신' 카테고리의 다른 글

4장 변수  (0) 2024.07.22
3장 객체지향  (0) 2024.07.22
2장 컴파일  (0) 2024.07.22
1장 프로그래밍이란 무엇인가?  (0) 2024.07.22