왜 함수형 인터페이스는 CheckedException 예외를 던지는 동작을 허용하지 않을까?
#36
Answered
by
BvrPark
Irisation23
asked this question in
CHAPTER 3 람다 표현식 - Q&A
p107 예외, 람다, 함수형 인터페이스의 관계파트를 확인해 보면 이런 구문이 있다. CheckedException은 이말은 |
Answered by
BvrPark
Jun 20, 2023
Replies: 1 comment 1 reply
|
우선 java에는 2가지 종류의 예외가 있다. 1. Checked ExceptionException 클래스를 상속 받는 예외들로, 메서드가 발생시킬 수 있는 예외를 선언. 2. Unchecked ExceptionRuntimeException 클래스를 상속받는 예외들이라 예외를 처리하지 않아도 컴파일러에서 오류를 발생시키지 않는다. 이러한 점에 빗대어서
UncheckedException의 예외 동작은 허용한다것을 의미하는걸까? |
1 reply
Answer selected by
Irisation23
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
우선 java에는 2가지 종류의 예외가 있다.
1. Checked Exception
Exception 클래스를 상속 받는 예외들로, 메서드가 발생시킬 수 있는 예외를 선언.
Checked Exception을 던질 수 있는 메서드를 호출할 때는 반드시 예외를 처리해야 한다.(ex : throws, try-catch)
2. Unchecked Exception
RuntimeException 클래스를 상속받는 예외들이라 예외를 처리하지 않아도 컴파일러에서 오류를 발생시키지 않는다.
그래서 Unchecked Exception을 던질 수 있는 메서드를 호출할 때는 예외 처리를 강제하지 않는다.
이러한 점에 빗대어서
함수형 인터페이스가 Checked Exception을 던지는 동작을 허용하지 않는 이유는
그래서 예외 처리는 해당 메서드의 책임을 초과하는 부분으로 간주될 수 있다.
외부에 예외를 던지는 동작은 람다식의 독립성을 훼손시킬 수 있다.
UncheckedException의 예외 동작은 허용한다것을 의미하는걸까?
-> 이 말…