TIL

+6 예외처리 컴파일에러 / 런타임에러 / 예외클래스

JAVABOZA 2023. 6. 17. 00:37

컴파일에러 

 

컴파일단계에서 오류가 발생하면 컴파일러가 에러 메시지를 출력

대표적인 원인은 문법 구문오류(syntax error)

 

예를 들어서 메서드오타, ; 부호 생략 , 괄호 생략, 선언되지 않은 변수 사용 할때 코드 밑에 빨간줄로 잘못되었다고

컴파일 에러를 일으킴

컴파일에러 예시

 


런타임 에러 

프로그램 실행중에 에러가 발생할 때, 또는 외부적인 요인으로 기계적 결함으로 프로그램이 비정상적으로 종료될 때

 

:: 런타임에러 = 실행에러

 

우리가 설계를 할 때 잘못해서 발생하는 오류가 대부분,,,

 

개발자가 코드를 설계 할 때 또는 작성할 때 대비해야 한다.

 


예외(Exception)란 ? 

:: 프로그램 코드에 의해서 수습이 될 수 있는 오류

 

 예외는 대부분 개발자가 구현한 로직에서 발생한 실수나 사용자의 영향에 의해서도 발생할 수도 있다.

그래서 개발자들은 이러한 문제가 발생하더라도 이에 대한 대응코드를 작성해야 한다 == 예외처리

 자바 예외 클래스 계층 구도

 

위의 이미지에서도 볼수 있듯이 제일 상위 클래스는 Object 클래스이다.

그밑으로 Throwable class  양갈래로 Exception / Error이 있다.

 

자바에서 다루는 모든 예외 오류는 Exception class 에서 처리한다.

 

RuntimeException = 런타임에러를 다룸
IOException , FileNotFoundException = 컴파일 에러 = 런타임에러를 다룸

 

Exception 및 하위 클래스 : 사용자의 실수와 같은 외적인 요인에 의해서 발생하는 컴파일시 발생하는 예외!


IOException = 쉽게 Input / Output에서 나오는 예외이다.

FileNotFoundException  :: 존재하지 않은 파일의 이름을 입력

ClassNotFoundException :: 실수로 클래스의 이름을 잘못 기재

DataFormatException :: 입력한 데이터 형식이 잘못된 경우

 

 

 

RuntimeException 클래스 :: 프로그래머의 실수로 발생하는 예외


 

 

IndexOutOfBoundsException :: 배열의 범위를 벗어남

NullPointerException :: 값이 null인 참조 변수의 멤버를 호출

ClassCastException ::클래스 간의 형변환을 잘못함 

ArithmeticExcetpion :: 정수를 0으로 나누는 산술 오류