JAVA | 예외처리

c0zi·2023년 4월 10일
1

JAVA

목록 보기
1/4
post-thumbnail

😟 예외란?

프로그램 실행 중에 발생하여 프로그램 명령의 정상적인 흐름을 방해하는 원하지 않거나 예상치 못한 이벤트

☑️ 예외 객체

: 메소드 내에서 예외가 발생하면 생성되는 객체
→ 예외의 이름과 설명, 예외가 발생했을 때의 프로그램 상태와 같은 예외에 대한 정보가 포함


📝 예외 종류

▽ 코드라떼 [자바로 배우는 프로그래밍] - 예외처리
(https://www.codelatte.io/courses/java_programming_basic/8GZYSI6DKELSXWSW#head1)

0) Throwable

: 모든 예외 및 오류에 대한 최상위 클래스

1) Error

: 프로그램 실행 도중 처리할 수 없는 문제
  • OutOfMemoryError : 자바 가상머신 메모리 부족
  • StackOverflowError : 스레드의 stack 메모리가 꽉 찼을 때
  • VirtualMachineError : 자바 가상머신에 문제가 생겼거나 리소스가 부족한 경우

2) Exception

: 프로그램 실행 중 종료될 수 있는 문제에 대해 예외 처리를 하는 슈퍼 클래스
  • Checked Exception : 반드시 try-catch문을 사용해야 컴파일되는 예외
  • Unchecked Exception : 강제적으로 try-catch문을 사용하지 않아도 됨

Checked Exception

① IOException
 → InputStream, OutputStream 관련 메소드를 사용시 예외처리
 → 입출력 관련 예외
 → throw를 통해 메소드에 선언
② InterruptedException
 → 스레드 관련 예외

Unchecked Exception

① RuntimeException
 → Unchecked Exception의 최상위 클래스
 → Exception을 직접 상속받음
② NullPointerException
 → RuntimeException 상속
 → 참조 자료형 변수에 인스턴스가 아닌 null값이 저장되었을 때 인스턴스 메소드를 호출하거나 변수에 접근하면 발생
③ ClassCastException
 → 올바르지 않은 형변환을 할 때

⭐예외가 생기지 않도록 프로그래밍 하는 것이 좋겠지만, 프로그램이 비정상적으로 종료되지 않도록 하기 위해서는 예외처리가 중요⭐


예외 처리 방법

try - catch

  • 예외처리를 위한 구문
  • try문 코드를 실행하다 예외가 발생하면 catch문 실행
  • checked Exception은 반드시 예외처리를 해야 컴파일 가능

try - catch - finally

  • try - catch와 비슷하지만, finally문은 항상 실행 (예외 상황이 없더라도 !!)

참고 사이트 :
https://www.codelatte.io/courses/java_programming_basic/8GZYSI6DKELSXWSW#head1
https://www.geeksforgeeks.org/exceptions-in-java/

profile
무엇이든 할 수 있는 개발 블로그

0개의 댓글