JAVA

이것이 자바다 10장 확인 문제 풀이 (예외처리)

Adev 2022. 9. 8. 20:46

1. 예외 - 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 발생하는 프로그램 오류이다.(에러 : 하드웨어 오작동 똑는 고장으로 응용프로그램 실행 오류가 발생하는 것이다.
답 :4
자바의 표준 예외 뿐만 아니라 개발자가 직접 정의해서 만드는 사용자 정의 예외도 존재한다.

 


2. try-catch-finally 블록
답 :3
try{} 블록에서 return문을 사용하더라도 finally문은 항상 실행된다.

 


3. throws - 메소드 선언부 끝에 작성되며 예외를 호출한 곳으로 떠넘긴다.
답 :4
새로운 예외를 발생시키기 위해 사용되는 것은 throw다.

 


4. throw - 예외를 발생시킨다.
답 :2
예외를 호출한 곳으로 떠넘기기 위해 메소드 선언부에 작성되는 것은 throws다.

 


5.
답 :3
다중 catch블록은 범위가 좁은 것에서 넓은 것 순으로 적는다.

 


6.
10 (i=0)
숫자로 변환할 수 없음 10 (i=1)
인덱스를 초과했음 10 (i=2)

 

 

7. 

package verify.exam07;

public class NotExistIDException2 extends Exception {
	public NotExistIDException2() {}
	public NotExistIDException2(String message) {
		super(message); }
}
package verify.exam07;

public class LoginExample2 {
	public static void main(String[] args) {
		try {
			login("white", "12345");
		} catch(Exception e) {
			System.out.println(e.getMessage());
		} 
		
		try {
			login("blue", "54321");
		} catch(Exception e) {
			System.out.println(e.getMessage());
		} 
	}
	
	public static void login(String id, String password) throws NotExistIDException, WrongPasswordException  {
		//id가 blue가 아니라면 NotExistIDException 발생시킴
		if(!id.equals("blue")) {
			throw new NotExistIDException("아이디가 존재하지 않습니다.");
		} 
		
		//password가 12345가 아니라면 WrongPasswordException 발생시킴
		if(!password.equals("12345")) {
			throw new WrongPasswordException("패스워드가 틀립니다.");
		}
	}
}