lanza Exception en un método con Kotlin

Estoy tratando de convertir este código de Java a Kotlin:

public class HeaderInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { return null; } } 

El problema es que cuando implemente los methods, obtengo algo así como

 class JsonHeadersInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain?): Response? { throw UnsupportedOperationException() } } 

La única información que he encontrado hablando de arrojar excepciones en Kotlin es ESTO .

Una parte de eliminar el signo de interrogación, porque no es necesario, ¿por qué no maneja la IOException la misma manera? ¿Cuál es el mejor enfoque para manejar esta situación?

En Kotlin, no hay excepciones marcadas , no se deben declarar excepciones y no está obligado a detectar ninguna exception, aunque, por supuesto, puede hacerlo. Incluso cuando se deriva de una class Java, no tiene que declarar excepciones que throws un método.

@Throws(SomeException::class) es solo un medio de interoperabilidad Java, permite escribir una function con throws en la firma Java, de modo que en Java será posible (y necesario) manejar la exception.

En cambio, las excepciones de API públicas deberían documentarse en KDoc con la label @throws .

  • Cómo organizar los methods de extensión de Kotlin
  • Función de extensión Kotlin en propiedad mutable
  • Kotlin class NoClassDefFoundError crash
  • acceso al método de extensión kotlin en otro kt
  • Propiedad de extensión en línea Kotlin
  • Choque de extensión Kotlin
  • Cómo acceder a una vista desde el layout especificado en headerLayout de NavigationView usando Kotlin en Android
  • Mapa Mutable no anulable
  • ¿Cómo colocar una extensión de Kotlin en un file de class?
  • Kotlin: Cómo extender la class enum con una function de extensión
  • ¿Cómo se pueden agregar methods estáticos a las classs de Java en Kotlin?