본문 바로가기
Android 개발/Debug, ADB, CrashLytics, LogCat

Kotlin에서 try catch finally로 처리하는 Exception

by Developer88 2020. 1. 28.
반응형

Kotlin에서도 Java에서처럼 try catch finally를 이용해서 Exception들을 처리할 수 있는데요.

오늘은 그 기본적인 방법에 대해서 정리해 보도록 하겠습니다.

1. Try, Catch 그리고 Finally

Try는 Exception 발생이 예상되는 코드를 감싸는 블록이고,

Catch는 Exception이 발생되었을 때 실행되는 블록입니다.

Try블록에서 Exception이 발생하고 ,

Catch블록에서 해당 Exception처리를 해주면,

앱은 Crash하지 않고, 다음 코드를 실행시켜 줍니다.

(물론 Catch에서 잡아주지 못한 Exception이 발생한다면 그 때는 Crash가 나겠지요.

Try로 감싼다고 무조건 Crash를 막지는 못 합니다.)

 

Finally는 Exception발생과 상관없이 무조건적으로 실행되는 곳 인데요.

Try->Catch->Finally 혹은 Try->Finally순으로 실행되게 되겠지요.

여기서는 보통 리소스나 디비의 커넥션을 close하게 됩니다.

 

이제 코드를 좀 보겠습니다.

아래 이미지와 같이, try, catch 그리고 finally를 사용합니다.

 

 

참고로, kotlin에서 try문은 하나의 Expression으로 return값을 가질 수 있는데요.

이 때 반환 값은 try에서의 마지막 expression이거나, catch에서의 마지막 expression입니다.

 

Java에서와 마찬가지로 아래와 같이 여러개의 Exception들에 대해서 잡을 수 있습니다.

 

 

2. Nothing타입

코틀린에서 아래와 같이 특정 조건에서 fail함수를 호출할 경우,

Nothing타입을 반환된다고 명시하는데요.

이는 어떤 타입을 반환한다는 의미보다는,

Exception이 나서 더이상 진행할 수 없거나

try, catch구문으로 익셉션 처리를 통한 진행이 될 수 있다는 것을 의미합니다.

 

 

이렇게 해서, Kotlin에서의 try, catch, 그리고 finally를 통한

기본적인 Exception처리에 대해서 정리해 보았습니다.

 

728x90

댓글