Exception - 사용자 정의 예외

2409 단어 exception

BaseException 예외 상속 Exception 코드는 다음과 같습니다.
 
package com.common.core.exception;

/**
 * Root Exception of all exceptions
 * @author zhouhaitao
 */
public class BaseException extends Exception {
	private static final long serialVersionUID = 6775179545328979398L;

	/**
	 *  
	 */
	public BaseException() {
		super();
	}

	/**
	 * @param arg0
	 */
	public BaseException(String arg0) {
		super(arg0);
	}

	/**
	 * @param arg0
	 * @param arg1
	 */
	public BaseException(String arg0, Throwable arg1) {
		super(arg0, arg1);
	}

	/**
	 * @param arg0
	 */
	public BaseException(Throwable arg0) {
		super(arg0);
	}
}

 
   
 
서비스에서 사용자 정의 예외를 정의합니다.
 
package com.rs.common.core.exception;

public class BaseServiceException extends BaseException {
	private static final long serialVersionUID = 3449623024482478847L;

	public BaseServiceException(String arg0, Throwable arg1) {
		super(arg0, arg1);
	}

	public BaseServiceException(String arg0) {
		super(arg0);
	}
}

 
 
 
구체적인 서비스에서 정의된 이상 계승baseException:
 
package com.common.core.service.exception;
import com.common.core.exception.BaseServiceException;
public class UserServiceException extends BaseServiceException {

	public UserServiceException(String arg0) {
		super(arg0);
	}
	
	public UserServiceException(String arg0, Throwable arg1){
		super(arg0, arg1);
	}

	private static final long serialVersionUID = 9155249210877803457L;

}

 
try-catch에서 사용자 정의 이상을 던집니다.
public void addUser(User user) throws UserExistsException,
			UserServiceException {
		// TODO Auto-generated method stub
		try {
			userDao.add(user);
		} catch (DatabaseException e) {
			// TODO Auto-generated catch block
			logger.error("DatabaseException:",e);
			throw new UserServiceException("DatabaseException",e);
		}
	}

 
마지막으로 Action에서 서비스의 메소드를 호출하여 예외 처리...됐습니다.

좋은 웹페이지 즐겨찾기