Exception에 대한 질문

2320 단어
프로젝트의 문제 코드
	public static void main(String[] args) {
		Main main = new Main();
		try{
			main.doBissness();
		}catch(Exception e){
			logger.error(e.getMessage());
		}
		main.doOtherBissness();
	}
	
	private void doOtherBissness(){
		logger.debug("other bissness");
	}

	private void doBissness() throws AException{
		String account = "LEON";
		String cardNum = "XXX0288";
		logger.debug("account is " + account);
		logger.debug("card num is " + cardNum);

		throw new AException("an exception");
	}

로그 결과
DEBUG -- 2014-06-01 19:09:22,997 -- com.leon.Main.doBissness(Main.java:25)-- account is LEON
DEBUG -- 2014-06-01 19:09:23,000 -- com.leon.Main.doBissness(Main.java:26)-- card num is XXX0288
ERROR -- 2014-06-01 19:09:23,000 -- com.leon.Main.main(Main.java:13)-- an exception
DEBUG -- 2014-06-01 19:09:23,000 -- com.leon.Main.doOtherBissness(Main.java:19)-- other bissness
왜 문제가 있으면 이상한 메시지만 주고 창고 정보를 호출하지 않아서 오류가 발생한 후에 다음 업무 논리를 계속 걷기 어렵습니다. 아래에 이상이 있으면 로그에서 루트 카우스를 찾기가 쉽지 않습니다.
수정된 코드
public static void main(String[] args) {
		Main main = new Main();
		try{
			main.doBissness();
		}catch(Exception e){
			logger.error(e.getMessage(),e);
			return;
		}
		main.doOtherBissness();
	}
	
	private void doOtherBissness(){
		logger.debug("other bissness");
	}

	private void doBissness() throws AException{
		String account = "LEON";
		String cardNum = "XXX0288";
		logger.debug("account is " + account);
		logger.debug("card num is " + cardNum);

		throw new AException("an exception");
	}

로그 결과
DEBUG -- 2014-06-01 19:17:19,960 -- com.leon.Main.doBissness(Main.java:26)-- account is LEON
DEBUG -- 2014-06-01 19:17:19,963 -- com.leon.Main.doBissness(Main.java:27)-- card num is XXX0288
ERROR -- 2014-06-01 19:17:19,964 -- com.leon.Main.main(Main.java:13)-- an exception
com.leon.AException: an exception
at com.leon.Main.doBissness(Main.java:29)
at com.leon.Main.main(Main.java:11)
호출 창고 정보를 주고 이상한 곳에서 처리를 중단했습니다.
결론
1. 이상을 어떻게 처리해야 하는지를 명확히 한 상태에서 다시 이상을 처리해야 한다. 어떻게 처리해야 할지 모르면 이 이상을 계속 던진다.
2.logger.error 방법은 반드시 호출 창고 정보를 로그에 기록해야 합니다.편리한 오류 검색
3. 대부분의 경우 중단을 방지하는 방법이 필요하다.

좋은 웹페이지 즐겨찾기