ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Kotlin] Exception
    Kotlin/Exception 2021. 8. 14. 13:59

    -- try catch에도 null체크가 엄격하다.

    try블록안에서 선언된 변수는 try블록에서만 사용가능하기 때문에 main함수 scope에 변수를 선언하였다.

    try블록에서는 항상 예외가 발생할 수 있기 때문에 try문에서 초기화를 해도 예외로 인해 초기화 부분이 실행 되지 않을 수도 있다.

    그렇기 때문에 try블록에서 초기화를 한다해도 catch나, finally에서 변수를 사용할 수 없다.


    --코틀린의 try는 표현식이다( 값을 return한다 )

     

    try블록의 마지막 표현식, catch블록의 마지막 표현식이 리턴될 값에 해당된다.

    finally절은 표현식의 리턴에 영향을 주지 않는다.

    예외가 발생하지 않으면 try의 가장 마지막 expression이 대입되고 

    예외가 발생하면 catch의 가장 마지막 expression이 대입된다.


    --Kotlin does not have checked exceptions.

     

    코틀린은 checked exceptions가 없다.

    자바의 checked exceptions이 발생하는 메서드등등을 사용할 떄 예외처리를 해놓지 않으면 컴파일이 되지 않는다.

    코틀린은 checked exception에 예외처리를 하지 않아도 되게 되었다.

    출처: https://madplay.github.io/post/java-checked-unchecked-exceptions

     

    출처: https://tourspace.tistory.com/101 [투덜이의 리얼 블로그]

    이는 Java의 대체적인 코드 사용 패턴을 볼때 checked exception을 강제한다고 해서 모두 예외처리를 하기보단 보통 // 으로 무시하거나, 추가적으로 처리하지 않기 때문입니다.

    따라서 실용성을 강조하는 코틀린은 이런것들을 과감하게 생략합니다.


    --코틀린에서 throw는 표현식이고 Nothing타입을 가진다. 타입을 가지기 때문에 Elvis operator의 우변에 위치할수 있다.

    https://hellose7.tistory.com/40

     

    [Kotlin] Nothing, Unit

    인터넷의 여러 글들을 읽어봤지만 Nothing과 Unit의 차이에 대해 정확하게는 모르겠고 어떠한 식으로만 써야하는지에 대해서만 안것 같다. 이해를 위해 글의 순서가 뒤죽박죽일 수 있다. Any는 모든

    hellose7.tistory.com

     

    댓글

Designed by Tistory.