jiisuniui.log
로그인
jiisuniui.log
로그인
[Java] Error와 Exception
Jiisuniui
·
2023년 12월 26일
팔로우
0
Java
Java의 모든 것
목록 보기
7/7
Error와 Exception
Error
Error는 시스템 레벨에서 발생하여, 개발자가 어떻게 조치할 수 없는 수준
컴파일 시 문법적인 오류와 런타임 시 널포인트 참조와 같은 오류로 프로세스에 심각한 문제를 야기 시켜 프로세스를 종료 시킬 수 있음.
프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우
메모리 부족이나 스택오버플로우와 같이 발생하면 복구할 수 없는 심각한 오류
Exception
예외는 개발자가 구현한 로직에서 발생하며 개발자가 다른 방식으로 처리가능한 것들로 JVM은 정상 동작
컴퓨터 시스템의 동작 도중 예기치 않았던 이상 상태가 발생하여 수행 중인 프로그램이 영향을 받는 것
발생하더라도 수습할 수 있는 비교적 덜 심각한 오류
Error의 상황을 미리 미연에 방지하기 위해서 Exception 상황을 만들 수 있음
Throwable 클래스
Throwable 클래스는 예외처리를 할 수 있는 최상위 클래스
Exception과 Error는 Throwable의 상속을 받음
Exception의 2가지 종류
Checked Exception
예외처리가 필수이며, 처리하지 않으면 컴파일되지 않음
JVM 외부와 통신(네트워크, 파일시스템 등)할 때 주로 쓰임
RuntimeException 이외에 있는 모든 예외, IOException, SQLException 등
Unchecked Exception
컴파일 때 체크되지 않고, Runtime에 발생하는 Exception
RuntimeException 하위의 모든 예외, NullPointerException, IndexOutOfBoundException 등
Exception Handling
잘못된 하나로 인해 전체 시스템이 무너지는 결과를 방지하기 위한 기술적인 처리
JAVA에서는 예외와 에러도 객체로 처리
예외가 주로 발생하는 원인
사용자의 잘못된 데이터 입력
잘못된 연산
개발자가 로직을 잘못 작성
하드웨어, 네트워크 오작동
시스템 과부하
Exception Handling의 2가지 방법
직접 try ~ catch 를 이용해서 예외에 대한 최종적인 책임을 지고 처리하는 방식
throws Exception 을 이용해서 발생한 예외의 책임을 호출하는 쪽이 책임지도록 하는 방식 (주로 호출하는 쪽에 예외를 보고할 때 사용)
주요 Method
printStackTrace()
발생한 Exception의 출처를 메모리상에서 추적하면서 결과를 알려줌
발생한 위치를 정확히 출력해줘서 제일 많이 쓰며 void를 반환
getMessage()
한줄로 요약된 메세지를 String으로 반환
getStackTrace()
jdk1.4 부터 지원
printStackTrace()를 보완
-StackTraceElement[] 이라는 문자열 배열로 변경해서 출력하고 저장
Jiisuniui
why error?
팔로우
이전 포스트
[Java] 제네릭(Generic)이란?
0개의 댓글
댓글 작성