【Kotlin/Android】Result型の使い方!runCatchingとは?

この記事からわかること
- Android Studio/KotlinのResultの使い方
- onSuccess/onFailureの実装方法
- runCatchingとは?
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
Result型
KotlinのResult
型は操作の結果をラップして保持できるデータ型です。成功した際には指定したデータ型の値を失敗した際には例外を保持することができます。
結果を返すメソッドなどで返り値として使用されることが多く、成功時の失敗時のエラーハンドリングが行いやすくコードの見通しもスッキリさせることができます。
使い方
Result
型をメソッドの返り値として指定する場合はResult.success
で成功した場合のデータを、Result.failure
で例外を返します。
onSuccess/onFailure
取得したResult
型からはonSuccess
で成功した場合の処理を、onFailure
で失敗した場合の処理を記述することができます。
isSuccess/isFailure
isSuccess
で成功しているかどうかを、isFailure
で失敗しているかどうかを取得することができます。
getOrNull/exceptionOrNull
getOrNull
で値があれば取得なければnullを、exceptionOrNull
でエラーがあれば取得なければnullを取得することができます。
getOrDefault/getOrElse
getOrDefault
で値があれば取得なければ指定したデフォルト値を、getOrElse
で値があれば取得なければデフォルト値をラムダ式で返却し取得することができます。
getOrThrow
getOrThrow
で値があれば取得、エラーなら例外をスローすることができます。
fold
fold
で成功時と失敗時の処理をそれぞれ指定し、その結果を返すことができます。
recover
recover
で失敗時に指定した値を返すことができます。
runCatching
Result型を簡単に利用する方法にrunCatching
があります。runCatching
メソッドは指定したラムダ式を実行しその結果をResult
型で返します。ブロックが正常に完了した場合は成功としてResultにラップされ、例外が発生した場合は失敗としてResultにラップされます。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。