Что вернуть, если попытка поймать не удалась в Котлине? - PullRequest
0 голосов
/ 25 сентября 2018

Я новичок в Kotlin и в основном программировал Java раньше.Проблема в том, что у меня есть это:

private fun createUrl(stringUrl: String): URL? {
    try {
        return URL(stringUrl)
    } catch (e: MalformedURLException) {
        return null
    }
}

Это стиль, к которому я привык в Java.Я бы просто проверил, является ли URL нулевым в следующем методе, но что такое эквивалент Kotlin?Что бы я вернул в Котлин?

Привет

1 Ответ

0 голосов
/ 25 сентября 2018

Вы уже написали это на Kotlin, так что не совсем уверены в своем полном вопросе.Тем не менее, возвращая URL?идеально.

Тогда вы можете сделать

mWebURL.set(createUrl(myString))

или

  mWebURL.set(createUrl(myString)?: "alternativeURL")

, если у вас есть наблюдаемое, которое нормально принимает ноль.

Илиесли вам нужно выполнить какое-либо действие, вы можете просто сделать

createUrl(myString)?.nextAction() //only occurs if not null

или использовать

createURL(myString).let{
    //will happen if not null
} 

или, конечно, просто

if(createUrl(myString) == null){
    //will happen if not null
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...