2021년 3월 1일 월요일

[Kotlin] try, catch 대신 runcatch

 참고 사이트 : https://uchun.dev/runCatching%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-kotlin%EC%97%90%EC%84%9C-exception%EC%B2%98%EB%A6%AC-%EB%B0%A9%EB%B2%95/

kotlin 에서 기존의 try catch 도 가능하지만 

val fruitName = try {

    getRandomFruit()

} catch (throwable: Throwable) {

    ""

}


ex 

return runCatching {
if (argParam.isEmpty()) {
method?.invoke(null) as T?
} else {
method?.invoke(obj, null) as T?
}

}.getOrNull()

코드가 정말 깔끔해진다

Related Posts:

  • [Android] 백그라운그 제한에 따른 onSaveInstanceState, onRestoreInstanceState 동작 테스트 하기홈버튼등으로 인해 백그라운드로 넘어갈때, 앱의 상태를 일시 저장했다가 돌려놓는 onSaveInstanceState, onRestoreInstanceState 가 제대로 동작하는지 테스트 하기 위해서는개발자 옵션의 백그라운드제한(Background process limit)항목을 No background processes  즉 백그라운드 프로세스 없음 으로 지정해서백그라운드에… Read More
  • [Android] 단말의 해상도 adb에서 변경물론 개발자모드에 들어가면 해상도조절하는게 있다.https://android.gadgethacks.com/how-to/change-your-androids-screen-resolution-without-root-access-0160439/ 4.3 이전- size$ adb shell am display-size [WxH]ex) $ adb shell am display-size 1920x1080… Read More
  • [Android] Gradle 상세진행/결과 상태를 웹에서 보여주기./gradlew assembleDebug -no-build-cache -scan 하고 그레이들이 끝날때쯤 링크를 눌러서 메일적고 , 메일에 온주소를 클릭하면 그레이들사이트에서 제공하는 내 빌드 정보가 뜬다. … Read More
  • [Android] 에뮬레이터인지 확인방법 플로터에 있는 구글의 device info 플러그인 은 이렇다네private boolean isEmulator() { return (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic")) || Build.FINGERPRINT.startsWith("generic") |… Read More
  • [Android] DeepLink 로 앱의 특정 화면에 바로가기하이퍼링크 http는 웹주소를 연결하는 sheme로서 무조건 인터넷웹사이트가 열리도록 약속한거다.deeplink는 이름처럼 좀더 깊은 곳까지 링크시켜 해당자료가 열리도록 하는거다.안드로이드/아이폰 에서는 http://가 아닌 abcde://등으로 개발자맘대로 정하기만 하면 누군가 abcd:// 링크를 여는순간 개발자의 앱이 열리도록 할수 있다.안드로이드에서는 Activity 선언에 intent(의도,… Read More

0 comments:

댓글 쓰기