반응형
1. NotExistIdException.java
public class NotExistIdException extends Exception {
// 기본 생성자
public NotExistIdException() {}
public NotExistIdException(String message) {
// 부모 클래스인 Exception에 message를 인자로 넘김
// 후에 catch문에서 e.getMessage() 함수로 message 출력함
super(message);
}
}
2. WrongPasswordException.java
public class WrongPasswordException extends Exception {
public WrongPasswordException() {}
public WrongPasswordException(String message) {
super(message);
}
}
3.LoginExample.java
public calss LoginExample {
public static void main(string[] args) {
try {
login("white", "12345");
} catch(Exception e) {
// 받아온 message(String)으로 예외 정보 메세지를 출력함
System.out.println(e.getMessage());
}
try {
login("blue", "54321");
} catch(Exception e) {
System.out.println(e.getMessage());
}
}
// 생성되는 예외를 throws로 떠넘기기
// 혹은 try-catch문을 써야 함
public static void login(String id, String password) throws NotExistIdException, WrongPasswordException {
if(!id.equals("blue")) {
// throw로 예외 발생시키기
throw new NotExistIdException("아이디가 존재하지 않습니다.");
}
if(!password.equals("12345")) {
throw new WrongPasswordException("패스워드가 틀립니다.");
}
}
}
+
Exception 클래스에는
getMessage()
: 오류에 대한 기본적인 내용을 출력
toString()
: getMessage()보다는 더 자세한 예외 정보를 제공
printStackTrace()
: 리턴값이 없고, 내부적으로 예외 결과를 화면에 출력한다 (-> e.printStackTrace(); 로 호출)
가장 자세한 예외 정보를 제공한다
등의 오류 메세지를 화면에 출력하는 함수가 있다
반응형
'etc.' 카테고리의 다른 글
[Java] String 클래스와 String 메소드 (0) | 2020.06.17 |
---|---|
[Java] StringTokenizer 클래스와 StringTokenizer 메소드 (0) | 2020.05.30 |
[Java] BufferedReader 클래스로 입력받기 (Scanner와의 차이) (0) | 2020.05.17 |
[Java] 접근 제한자(Access Modifier) / 접근 수준 지시자(Access-level Modifier) (0) | 2020.05.02 |
[Java] 정적 멤버 static (static 필드, static 메소드) (0) | 2020.04.30 |