왜 함수형 인터페이스는 CheckedException
예외를 던지는 동작을 허용하지 않을까?
#36
-
p107 예외, 람다, 함수형 인터페이스의 관계파트를 확인해 보면 이런 구문이 있다.
CheckedException은 이말은 |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
우선 java에는 2가지 종류의 예외가 있다. 1. Checked ExceptionException 클래스를 상속 받는 예외들로, 메서드가 발생시킬 수 있는 예외를 선언. 2. Unchecked ExceptionRuntimeException 클래스를 상속받는 예외들이라 예외를 처리하지 않아도 컴파일러에서 오류를 발생시키지 않는다. 이러한 점에 빗대어서
UncheckedException의 예외 동작은 허용한다것을 의미하는걸까? |
Beta Was this translation helpful? Give feedback.
우선 java에는 2가지 종류의 예외가 있다.
1. Checked Exception
Exception 클래스를 상속 받는 예외들로, 메서드가 발생시킬 수 있는 예외를 선언.
Checked Exception을 던질 수 있는 메서드를 호출할 때는 반드시 예외를 처리해야 한다.(ex : throws, try-catch)
2. Unchecked Exception
RuntimeException 클래스를 상속받는 예외들이라 예외를 처리하지 않아도 컴파일러에서 오류를 발생시키지 않는다.
그래서 Unchecked Exception을 던질 수 있는 메서드를 호출할 때는 예외 처리를 강제하지 않는다.
이러한 점에 빗대어서
함수형 인터페이스가 Checked Exception을 던지는 동작을 허용하지 않는 이유는
그래서 예외 처리는 해당 메서드의 책임을 초과하는 부분으로 간주될 수 있다.
외부에 예외를 던지는 동작은 람다식의 독립성을 훼손시킬 수 있다.
UncheckedException의 예외 동작은 허용한다것을 의미하는걸까?
-> 이 말…