사용자정의 exception

PasswordException 클래스

package day12;

public class PasswordException extends IllegalArgumentException {
	public PasswordException(String message) {
		super(message);				
        //IllegalArgumentException (String  s)
		//지정된 상세 메세지를 가지는 IllegalArgumentException을 구축합니다.

} }

사용자 지정 예외 클래스

package day12;

import java.util.Scanner;

public class 사용자정의Exception {
	
	public static void main(String() args) {
		
		PasswordTest pt = new PasswordTest();			//PasswordTest 객체 생성
		Scanner sc = new Scanner(System.in);
		System.out.println("1. 비밀번호는 null일 수 없다.

\n2. 비밀번호의 길이는 5자이상\n3. 비밀번호는 문자로만 이루어지면 안됨. (문자+숫자나 특수자문자 포함.) "); System.out.println("비밀번호를 입력하세요."); String password = sc.next(); try { pt.setPassword(password); //PasswordTest의 setPassword 메서드 사용 System.out.println(pt.getPassword()); }catch (PasswordException e) { System.out.println(e.getMessage()); } } } class PasswordTest{ private String password; public String getPassword() { return password; } public void setPassword(String password) throws PasswordException { //throws PasswordException 예외를 던진다.

(메소드 사용자가 처리) if(password == null) { throw new PasswordException("비밀번호는 null일수 없습니다.

"); //throw로 예외를 발생시킨다.

}else if (password.length() < 5) { throw new PasswordException("비밀번호는 5자 이상이여야 합니다.

"); }else if(password.matches("(a-zA-Z)+")) { throw new PasswordException("비밀번호는 숫자나 특수문자를 포함해야 합니다.

"); } this.password = password; } }