package incheon.com.cmm.exception;

import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;

/**
 * @Class Name : ExceptionSampleService.java
 * @Description : 예외 처리 예시를 위한 샘플 서비스
 * @Modification Information
 *
 *    수정일       수정자         수정내용
 *    -------     -------     -------------------
 *
 */
@Service
public class ExceptionSampleService {
    
    /**
     * 비즈니스 예외 발생 예시
     */
    public void throwBusinessException() {
        throw new BusinessException("비즈니스 로직 처리 중 오류가 발생했습니다.", HttpStatus.BAD_REQUEST);
    }
    
    /**
     * 엔티티 찾기 실패 예외 발생 예시
     */
    public void throwEntityNotFoundException() {
        throw new EntityNotFoundException("User", 1L);
    }
    
    /**
     * 잘못된 인자 예외 발생 예시
     */
    public void throwIllegalArgumentException() {
        throw new IllegalArgumentException("잘못된 파라미터가 입력되었습니다.");
    }
    
    /**
     * 일반 예외 발생 예시
     */
    public void throwGeneralException() {
        throw new RuntimeException("알 수 없는 오류가 발생했습니다.");
    }
} 