반응형

exception 2

[Kotlin] kotlin은 왜 Java와 달리 Checked Exception을 제공하지 않을까?

Java, Kotlin은 둘 다 JVM 생태계 언어로써 상당히 비슷한 면이 많다. 하지만 둘은 다른 언어다보니, 당연히 다른 점들도 꽤 많이 존재한다. kotlin의 null-safe operator로 편리하고 안전하게 null 관련 처리를 할 수도 있고, 확장함수를 통해 자유롭게 커스터마이징이 가능하며, 다양한 lambda functions를 제공해줌으로써 Java의 stream 기능 못지 않게 간단한 코드를 작성할 수 있다. 그럼 반대로 Java에선 제공해주지만 Kotlin에서는 제공하지 않는 기능이 뭐가 있을까? Java에서는 checked exception을 제공하지만, Kotlin에서는 이를 제공하지 않는다! 이번 포스팅에선 이 내용에 대해 적어보도록 하겠다. Checked Exception? ..

[TDD] Test 코드에서 Exception을 받고 싶을 때

간혹 테스트코드를 작성할 때, 예외를 띄우는 것을 기대하는 경우가 있을 것이다. 그런 경우는 아래와 같이 작성하면 된다. @Test void notFoundMessageCode(){ Assertions.assertThatThrownBy(()-> messageSource.getMessage("no_code", null, null)) .isInstanceOf(NoSuchMessageException.class); } - assertThatThrownBy : 예외가 throw됐을 경우 그 예외를 catch해주는 기능을 가진다. 위 코드에선, no_code라는 메시지가 저장돼있지 않아 람다식에서 NoSuchMessageException 에러를 throw해주었으며, 따라서 isInstanceOf에서 예상한 에러 ..

1
반응형