title: kotlin unreachable code when using finally and enum
body: <p>I've encoutered such issue, that android studio warns me about unreachable code. I don't understand, how it is unreachable.</p>
  
  <p>My original code: </p>
  
  <pre><code>        try {
              return BasketProvider.valueOf(prefs.getString(KEY_BASKET_PROVIDER, null)) //unreachable code here
          } finally {
              return BasketProvider.LOCAL
          }
  </code></pre>
  
  <p>If I change finally to <code>catch(e :IllegalArgumentException)</code>, there's no warning. If I combine all of them, the warning appears again.</p>
  
  <pre><code>        try {
              return BasketProvider.valueOf(prefs.getString(KEY_BASKET_PROVIDER, null))//no warning
          } catch (e: IllegalArgumentException) {
              return BasketProvider.LOCAL
          }
          --------------------------------
          try {
              return BasketProvider.valueOf(prefs.getString(KEY_BASKET_PROVIDER, null))//unreachable code
          } catch (e: IllegalArgumentException) {
              return BasketProvider.LOCAL //unreachable code
          } finally {
              return BasketProvider.LOCAL
          }
  </code></pre>
  
  <p>Is this a Kotlin bug, or am I missing something?</p>
  
  <p>EDIT: </p>
  
  <p>Basket provider is simple enum class:</p>
  
  <pre><code>enum class BasketProvider {
      LOCAL, SHARED
  }
  </code></pre>