일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 부스트캠프
- pop()
- a=1
- 불리안
- langchain
- 변수와 입출력
- index()
- 리스트와 차이점
- input()
- html
- 그룹 # 그룹 해체 # 단축키 #figma #Figma
- 입출력
- 변수
- 조지 불
- del()
- null # undefined
- 변할 수 있는
- 차집합
- insert()
- Python
- 합집합
- append()
- 조건문 큰 수부터 입력받아야하는 이유
- 딥러닝
- 성적 입력받기
- 정보를 담을 수 있는 그릇
- prompt
- Java Script # == # === # difference # 차이
- 귀도 반 로섬
- 파이썬
- Today
- Total
I about me
[Final] Exception Handling 문제 풀이 본문
8 - 1) 예외 처리의 정의와 목적에 대해서 설명하시오.
정의
Writing code to handle potential exceptions that may occur during program execution.
( 프로그램 실행 시발생할 수있는 예외의 발생에 대비한 코드를 작성하는 것)
목적
Preventing abnormal termination of the program and maintaining normal execution state.
(프로그램의 비정상 종료를 막고 정상적인 실행상태를 유지하는 것)
+ exception의 정의
Slight errors that can be recovered from by the program code.
(프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류)
+ error의 정의
Serious errors that cannot be recovered from by the program code.
(프로그램 코드에 의해서 수습될 수 없는 심각한 오류)
8 - 2) 다음은 실행 도중 예외가 발생하여 화면에 출력된 내용이다. 이에 대한 설명 중 옳지 않은 것은?
java.lang.ArithmeticException:/byzero
at ExceptionEx18.method2(ExceptionEx18.java:12)
at ExceptionEx18.method1(ExceptionEx18.java:8)
at ExceptionEx18.main(ExceptionEx18.java:4)
c. 발생한 예외는 ArithmeticException 이며, 0으로 나누어서 예외가 발생했다. (O)
b. 예외가 발생한 위치는 메서드2이며, ExceptionEx18.java 파일의 12번째 줄이다. (O)
a. 위의 내용으로 예외가 발생했을 당시 호출 스택에 존재했던 메서드를 알 수 있다. (O)
그래서. main → method1 → method2의 순서로 호출되었음을 알 수 있다.

d. method2가 method1를 호출했고, 그 위치는 ExceptionEx18.java 8번째줄이다. (X)
8 - 3) 다음 중 오버라이딩이 잘못된 것은? (모두 고르시오)
void add(int a,int b)
throws InvalidNumberException, NotANumberException{}
class NumberException extends Exception{}
class InvalidNumberException extends NumberException{}
class NotANumberException extends NumberException{}
Exception | ||
NumberException | ||
InvaildNumberException | NotANumberException |
오버라이딩을 할 때, 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다.

만일 위와 같이 오버라이딩을 하였다면 분명히 조상클래스에 정의된 메서드보다 적은 개수의 예외를 선언한 것처럼 보이지만은 모든 예외의 최고 조상이므로 가장 많은 개수의 예외를 던질 수 있도록 선언한것이다. 그래서 예외의 개수는 적거나 같아야 한다는 조건을 만족시키지 못하는 잘못된 오버라이딩인것이다.

8 - 4) 다음과 같은 메서드가 있을 때 예외를 잘못 처리한 것은? (모두 고르시오)

Exception과 같은 최고 조상을 처리하는 블럭은 모든 블럭 중 제일 마지막에 있어야 한다는 것이다.
Exception | ||
RumtimeException | ||
NumberException | ||
InvaildNumberException | NotANumberException |




try{
input = new Scanner(System.in).nextInt();
}catch(Exception e){
System.out.println("유효하지 않은 값입니다." + "다시 값을 입력해주세요");
continue;
}

'Java' 카테고리의 다른 글
[Final] Serialization (1) | 2024.06.14 |
---|---|
[Final] File I/O (0) | 2024.06.13 |
[Final] Exception (0) | 2024.06.11 |
[Final] Interface (0) | 2024.06.10 |
[Final] Abstract Classes (0) | 2024.05.07 |