코딩하면서 예외를 정의할 때는 checked exception을 주로 사용하는 편인데
람다 안에서 예외를 못던지니까 너무 불편함.
특히 Optional 클래스 많이 쓰는데 예외를 못던지니까 불편한 점들이 많네..
어떤 식으로 사용하고 있음?
코딩하면서 예외를 정의할 때는 checked exception을 주로 사용하는 편인데
람다 안에서 예외를 못던지니까 너무 불편함.
특히 Optional 클래스 많이 쓰는데 예외를 못던지니까 불편한 점들이 많네..
어떤 식으로 사용하고 있음?
자바8 람다안에서 예외를 못던짐? 왜 그냥 던지면 안돼?
구글에 검색하니까 예제 수두룩하게 나오는데?
runtimeexception 같은건 그냥 던져도 되는데 checked exception 은 안됨 - dc App
Optional<T> 자체가 예외처리 throw로 하지 말라고 나온 거 아닙니까
애초에 메소드에 무슨 예외를 던진다 명시가 되어있어야 되는데 람다의 functional interface들은 애초에 범용적으로 쓸려고 만들어놓은 거라 예외 선언을 쓸 수가 없음 - dc App
옵셔널은 null 쓰지 말라고 하는 목적이 더 맞지 않을까싶은데 - dc App
생각해보니 자바는 Either가 아니군 ㅈㅅ
그정도로 명확하게 불편하면 만든사람이 바보가 아닌이상 뭔가 대체할 수 있는 방법이 있을거 같은데 아니면 빼째라 하고 checked exception 쓸거면 그냥 람다쓰지 마세요하고 철판을 깔던지
스택오버플로 검색해보니 철판깐거 맞는거 같은데? How can I throw CHECKED exceptions from inside Java 8 streams/lambdas? -> 베스트앤서 The simple answer to your question is: You can't, at least not directly. And it's not your fault. Oracle messed it up.
ㅇㅇ // 그래서 나도 물어본거야. 다른 사람들은 어떻게 쓰나 하고. 구글링 해보니까 람다안에서 runtimeexception으로 래핑해서 던지고 바깥에서 다시 받는 코드들도 보이던데 그런 짓거리는 하고싶지않고.. - dc App
런타임예외 쓰는 수밖에 없나.. - dc App