언어/자바

예외 처리

Ch's Lee 2025. 6. 11. 18:05

 

[종류]

오류(시스템 오류) : 스택 메모리와 오버플로

- 컴파일 오류 : 개발자의 실수 컴파일 오류(작성시점) : 실행전이고 작성 후 저장한 경우

- 실행 오류 : 실행중에 의도지 않은 동작이거나 프로그램 종류(비정상 종료)

버그 : 실행 중 잘못 구현 및 의도한 바와 다르게 실행

예외  : 비정상적인 오류를 막으려고함

 

[예외 처리 구조]

 

Object > Throwable > Exception

 

getMessage() 보다 printStrackTrace()

 

 

 

[PrintStackTrace 사용해보기]

 

printStackTrace() -> 역 추적으로 해당 오류난 경로를 파악한다. 

 

 

NullPointerException이 finally에 file일 null이다. 그래서 자식 NullPointerException으로 가는 것이 아니다. 부모 쪽으로 간다.

 

그리고 main의 부모는 jvm임으로, throw시 jvm으로 간다.

 

 

[예외 처리 - 다형성]

 

 

가장 부모 Exception을 사용해서 여러 에러를 받을 수 있다. 그럼 여러 catch의 경우를 다 받을 수 있다.