[JAVA] 컴파일 예외, 런타임 예외
1. 예외 발생 종류
컴파일 예외(compile exception)
- 문제가 생기면 컴파일 자체가 불가, 컴파일 과정에서 발생하는 예외(문법적 오류)
- 예외 처리(try catch 혹은 throw exception) 필수
런타임 예외(runtime exception)
- 컴파일 된 후 실행시에 발생하는 예외(데이터 유효성 검증 등)
- 반드시 상위 타입에
java.lang.RuntimeException
존재 (=RuntimeException의 자식)
=> java 기술서 'Class RuntimeException'에서 서브 클래스 확인 가능
- 예외 처리(try catch 혹은 throw exception) 혹은 값 변경 중 선택하여 해결
2. 예외 처리 방법
try ~ catch ~ finally
try {
// 예외가 발생할 수도 있는 구문 => 예외 미발생시 실행
} catch(예외타입 변수) {
// 발생한 예외 처리 => 예외 발생시 실행
} finally {
// 예외 밸생 여부와 상관없이 100% 실행되어야 하는 구문
}
throws ~ Exception
// 메소드 내부에서 예외처리 하지않고, 처리 위임
// 해당 메소드 호출시 예외처리 해주어야 함
// 1. 메소드에서 예외 처리 위임
void method1() throws InterruptedException{
System.out.println(1);
int i = 1;
while(i <= 5) {
System.out.println(i);
i++;
Thread.sleep(3000);
}
}
// 2. main에서 해당 메소드 호출시 예외 처리
public static void main(String[] args) {
try {
method1();
} catch (InterruptedException e) {
e.printStackTrace(); // 발생한 예외 정보 확인
}
}
Author And Source
이 문제에 관하여([JAVA] 컴파일 예외, 런타임 예외), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@geesuee/JAVA-컴파일-에러와-런타임-에러
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
java.lang.RuntimeException
존재 (=RuntimeException의 자식)=> java 기술서 'Class RuntimeException'에서 서브 클래스 확인 가능
try ~ catch ~ finally
try {
// 예외가 발생할 수도 있는 구문 => 예외 미발생시 실행
} catch(예외타입 변수) {
// 발생한 예외 처리 => 예외 발생시 실행
} finally {
// 예외 밸생 여부와 상관없이 100% 실행되어야 하는 구문
}
throws ~ Exception
// 메소드 내부에서 예외처리 하지않고, 처리 위임
// 해당 메소드 호출시 예외처리 해주어야 함
// 1. 메소드에서 예외 처리 위임
void method1() throws InterruptedException{
System.out.println(1);
int i = 1;
while(i <= 5) {
System.out.println(i);
i++;
Thread.sleep(3000);
}
}
// 2. main에서 해당 메소드 호출시 예외 처리
public static void main(String[] args) {
try {
method1();
} catch (InterruptedException e) {
e.printStackTrace(); // 발생한 예외 정보 확인
}
}
Author And Source
이 문제에 관하여([JAVA] 컴파일 예외, 런타임 예외), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@geesuee/JAVA-컴파일-에러와-런타임-에러저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)