본문 바로가기

old/Programming

자바에서 Error와 Exception의 차이점

반응형

에러란

프로그램이 실행중에 문제가 생겨서 강제로 종료가 되거나,  혹은 개발자가 예상하지 않은 이상한 동작을 하는 경우에 이런 문제가 일어나는 이유를 통틀어서 에러라고 부릅니다.

에러의 종류

compile-time error 컴파일 타임 에러

컴파일을 실패했을때 컴파일 에러라고 합니다. 자바로 프로그래밍을 하던 도중 자바문법에 없는 다른 프로그래밍 언어를 사용할때 생기는 에러를 뜻합니다.

 

콘솔에 출력을 위해서 "System.out.println("출력");"을 쓰지 않고, "print("출력");"라고 쓴다면 컴파일 타임 에러가 납니다.

runtime error 런타임 에러

프로그램 실행중에 문제가 생기는 경우를 뜻합니다.

 

array[5]에 숫자를 넣으려고 하는데, array의 사이즈가 3밖에 되지 않을 경우 런타임 에러가 납니다.

logical error 논리적인 에러

프로그래밍은 아무 에러가 없지만 프로그래머가 실수한 경우를 뜻합니다.

 

3+5를 계산할때, 실수로 3이 아니라 10을 넣어도 계산은 되지만, 결과물은 3+5가 아닙니다.

자바에서 Error vs. Exception

자바에서는 에러와 예외를 구분하여 프로그래머가 좀더 쉽게 알수있도록 하였습니다.

 

Error에러: 컴퓨터의 물리적인 문제일때
Exception예외: 컴퓨터의 프로그램상의 문제일때

 

컴퓨터에 먼지가 쌓여서 합선이 일어나는 바람에 프로그램이 안돌아갈경우, 에러라고 부릅니다. 프로그래밍이 잘못되어서 문제가 생길경우, 예외라고 부릅니다.

Exception 예외 in Java

위의 그림과 같이,

에러는 프로그램이 아닌 다른 문제를 뜻하고, 예외는 컴파일러와 관련된 문제를 뜻합니다.
예외 중에서도 프로그래밍 실수 문제만 runtimeException런타임 예외라고 합니다.

반응형