diff --git a/okhttp-android/src/main/kotlin/okhttp3/android/AndroidAsyncDns.kt b/okhttp-android/src/main/kotlin/okhttp3/android/AndroidAsyncDns.kt index 14896be59e8b..9b9bf3b972a7 100644 --- a/okhttp-android/src/main/kotlin/okhttp3/android/AndroidAsyncDns.kt +++ b/okhttp-android/src/main/kotlin/okhttp3/android/AndroidAsyncDns.kt @@ -47,31 +47,40 @@ class AndroidAsyncDns( hostname: String, callback: AsyncDns.Callback, ) { - resolver.query( - network, - hostname, - dnsClass.type, - DnsResolver.FLAG_EMPTY, - executor, - null, - object : DnsResolver.Callback> { - override fun onAnswer( - addresses: List, - rCode: Int, - ) { - callback.onResponse(hostname, addresses) - } + try { + resolver.query( + network, + hostname, + dnsClass.type, + DnsResolver.FLAG_EMPTY, + executor, + null, + object : DnsResolver.Callback> { + override fun onAnswer( + addresses: List, + rCode: Int, + ) { + callback.onResponse(hostname, addresses) + } - override fun onError(e: DnsResolver.DnsException) { - callback.onFailure( - hostname, - UnknownHostException(e.message).apply { - initCause(e) - }, - ) - } - }, - ) + override fun onError(e: DnsResolver.DnsException) { + callback.onFailure( + hostname, + UnknownHostException(e.message).apply { + initCause(e) + }, + ) + } + }, + ) + } catch (e: Exception) { + callback.onFailure( + hostname, + UnknownHostException(e.message).apply { + initCause(e) + }, + ) + } } companion object {