티스토리 뷰
Given the code fragment
package ocjap;
public class Test12 {
void readCard(int cardNo) throws Exception{
System.out.println("Reading Card");
}
void checkCard(int cardNo) throws RuntimeException{ // line n1
System.out.println("Checking Card");
}
public static void main(String[] args) {
Test12 ex =new Test12();
int cardNo=12345;
ex.checkCard(cardNo); // line n2
ex.readCard(cardNo); // line n3
}
}
What is the result?
A. Reading Card
Checking Card
B. Compilation fails only at line n1.
C. Compilation fails only at line n2.
D. Compilation fails only at line n3.
E. Compilation fails at both line n2 and line n3.
Corrent Answer: D
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Unhandled exception type Exception
at ocjap.Test12.main(Test12.java:17)
참고로.. 이클립스에서는
2 quick fixes available
Add throws declaration (main 메소드에 throws Exception 추가)
Surround with try/catch
wikidocs.netException은 크게 두가지로 구분된다.
1. RuntimeException
2. Exception
RuntimeException은 실행 시 발생하는 예외이고 Exception은 컴파일 시 발생하는 예외이다.
즉, Excpetion은 프로그램 작성 시 이미 예측가능한 예외를 작성할 때 사용하고 RuntimeException은 발생 할 수도 발생 안 할수도 있는 경우에 작성한다.
다른 말로 Exception을 Checked Exception, RuntimeException은 Unchecked Exception이라고도 한다.
예외 던지기(throws)
throws를 사용하면 호출한 곳에서 예외를 처리하도록 던진다.
(예외를 뒤로 미루기 라고도 한다.)
main 메소드 컴파일 에러가 발생. throws 구문 때문에 readCard 메소드의 Exception의 예외를 처리해야 하는 대상이 main 메소드(readCard 메소드를 호출하는 메소드)이기 때문이다.
try... catch로 감싸주거나 throws를 써야한다.
https://wikidocs.net/229
'ocajp 자격증 (Oracle Certified Associate Ja' 카테고리의 다른 글
자바 ocjap 문제 및 해설 - Exception (0) | 2020.02.23 |
---|---|
자바 ocjap 문제 및 해설 - 배열 86 (0) | 2020.02.23 |
자바 ocjap 문제 해설 - 배열 64 (0) | 2020.02.23 |
자바 ocjap 문제 해설 - 배열 49 (0) | 2020.02.23 |
자바 ocjap 문제 해설 - 연산자 우선순위 (0) | 2020.02.16 |
- Total
- Today
- Yesterday
- 문자열
- ocajp
- 파이썬
- xe addon
- webix
- 인포믹스
- C
- 이클립스
- 오라클
- KG
- 플러터
- 자바
- 스크래핑
- 포인터
- ocjap
- 파싱
- xe애드온
- esql
- 프로씨
- 자바 smtp
- EC
- XE
- MySQL
- XE3
- JDBC
- 라이믹스 모듈
- php
- Python
- C언어
- proc
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |