자바

[Java] 예외처리

코딩하는둥이 2023. 1. 15. 20:28

오류란?

 1 . 컴파일 오류(Complile error)

       : 프로그램 코드 작성 중 발생하는 문법적 오류

 2 . 실행 오류(Runtime error)

       : 실행 중인 프로그램이 의도하지 않은 동작을 하거나 프로그램이 중지되는 오류

 - 실행 오류 시 비정산 종료는 서비스 운영에 치명적

 -  오류가 발생할 수 있는 경우 로그를 남겨 추후 이를 분석하여 원인을 찾아야 함

 - 자바는 예외 처리를 통하여 프로그램의 비정상 종료를 막고 로그를 남길 수 있음 

 

오류와 예외 클래스 

 1. 시스템 오류(error)

      : 가상 머신에서 발생, 프로그래머가 처리 할 수 없음

      : 동적 메모리가 없는 경우, 스택 오버 플로우 등

 2. 예외 (Exception)

      : 프로그램에서 제어 할 수 있는 오류

      : 읽어 들이려는 파일이 존재하지 않는 경우, 네트윅 연결이 끊어진 경우

 

예외 클래스의 종류

 - 모든 예외 클래스의 최상휘 클래스 Exception

 - 다양한 예외 클래스가 제공됨 

 

try-with-resources문

 - 리소스를 자동 해제하도록 제공해주는 구문

 - close() 를 명시적으로 호출하지 않아도 try{} 블록에서 열린 리소스는 정상적인 경우, 예외 발생한 경우 모두 자동 해제 됨

 - 해당 리소스가 AutoCloseable을 구현해야 함

 - FilelnputStream의 경우 AutoCloseable을 구현하고 있음

 

 

 

사용자 정의 예외

 - JDK에서 제공되는 얘외 클래스 외에 사용자가 필요에 의해 예외 클래스를 정의하여 사용

 - 기존 JDK 예외클래스 중 가장 유사한 클래스에서 상속

 - 기본적으로 Exception에서 상속해도 됨

 

사용자 정의 예외 클래스 예제

 - 전달 받은 아이디의 값이 null이거나 8자 이하 20자 이상인 경우 예외 발생 시킴

'자바' 카테고리의 다른 글

[Java] JSX, API, 한글 설정 해보기  (0) 2023.09.20
java 웹프로그래밍 초기설정  (0) 2023.09.06
[Java] 백준 기초 8  (1) 2023.01.08
[Java] 스트림  (1) 2023.01.08
[Java] 내부클래스, 람다식  (1) 2023.01.08