Java : 실제 예외 처리

커비·2일 전
0

Java

목록 보기
53/55

Chained Exception, 실제 예외 처리 방법

Chained Exception (연결된 예외)

  • 예외는 다른 예외를 유발할 수 있다.
  • 예외 A가 예외 B를 발생시켰다면 예외 A는 B의 원인 예외임
  • 원인 예외를 새로운 예외에 등록한 후 다시 새로운 예외를 발생시키는데 이 것을 '예외연결'이라고 한다.

예외를 왜 연결할까?

  • 여러가지 예외를 하나의 큰 분류의 예외로 묶어서 다루기 위함
  • checked exception을 unchecked exception으로 포장하는데 유용하게 사용되기도 함

원인 예외를 다루기 위한 메소드

initCause()

: 지정한 예외를 원인 예외로 등록하는 메소드

getCause()

: 원인 예외를 반환하는 메소드


예외처리 회피하기

public void someMethod() throws Exception {...}

public void someIrresponsibleMethod() throws Exception{
	this.someMethod();
}

이렇게 처리하면 someMethod()에서 발생한 에러가 someIrresponsibleMethod() 의 throw를 통해서 그대로 다시 흘러나가게 됨

  • 같은 객체 내에서 이런 일을 하지는 않지만, 예외처리 회피를 볼 수 있는 단순한 예시 코드임
  • 관심사를 분리해서 한 레이어에서 처리하기 위해 이렇게 에러를 회피해서 그대로 흘려 보내는 경우도 있음

예외 전환하기

public void someMethod() throws IOException{...}

public void someResponsibleMethod() throws MoreSpecificException{
	try {
    	this.someMethod();
    } catch (IOException e){
    	throw new MoreSpecoficException(e.getMessage());
    }
}
profile
전공은 컴퓨터공학, 복수전공은 해킹보안학, 직장은 방학(파워 구직중)

0개의 댓글