Kotlin – NoSuchMethodError при создании экземпляра Throwable

Попытка создания объектов Throwable вызывает следующую ошибку

 java.lang.NoSuchMethodError: No direct method <init>(Ljava/lang/String;Ljava/lang/Throwable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V in class Ljava/lang/Throwable; or its super classes (declaration of 'java.lang.Throwable' appears in /system/framework/core-libart.jar) 

По-разному я пытался:

 val s = Throwable() val t = Throwable("This is a message") 

Некоторые вещи, которые я наблюдал (используя Android Studio на Mac):

  • «Command + click» ing on Throwable то время как в классах Java переносит меня на java.lang.Throwable тогда как из класса Kotlin он берет меня в Throwable definition в Throwable.kt
  • Я попытался использовать val s = java.lang.Throwable() но он даже не компилировал

Я использую Kotlin версии 1.0.0-beta-2423

Я пропустил что-то действительно очевидное?

UPD: ошибка исправлена, проблема больше не должна воспроизводиться.

Это ошибка в Kotlin: https://youtrack.jetbrains.com/issue/KT-5910 . Как обходной путь, передайте оба аргумента конструктору Throwable .

В первый раз я натолкнулся на kotlin интересно, сначала посмотрел, я думал, что вы смешиваете javascript и java, но на самом деле.

Я просмотрел документы для котлина, специально для Throwable и интересно, что конструктор выглядит следующим образом:

 Throwable(message: String? = null, cause: Throwable? = null) 

И затем я посмотрел, как инициализировать объекты в Котлине, страшно. И нашел, что это отличное место показывает, как объявлять объекты и обрабатывать нулевые значения. Я объявил Throwable следующим образом:

 //last arg as null - which is the cause var a : Throwable = Throwable("I am Throwable - Kotlin vesion.", null) 

Это работало без ошибок, когда я попробовал его в онлайн- компиляторе / интерпретаторе kotlin, а затем напечатал его следующим образом:

  print(a) print(a.printStackTrace()) 

И я получил следующий результат:

 java.lang.Throwable: I am Throwable - Kotlin vesion. 

Вслед за результатом printStackTrace (), как показано ниже:

 java.lang.Throwable: I am Throwable - Kotlin vesion. at Simplest_versionKt.main(Simplest version.kt:9) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.jetbrains.webdemo.executors.JavaExecutor.main(JavaExecutor.java:46) kotlin.Unit 
Intereting Posts
Как получить завершение кода IntelliJ IDEA для импорта статических методов Java в качестве функций верхнего уровня Kotlin? Kotlin для Android. Тост kotlin unreachable code при использовании finally и enum Как обновить классы данных, реализующие общий интерфейс Возможно ли повторное использование макета в Котлине Анко В чем разница между использованием @Annotation и в Kotlin? Избегайте приостановления другого приложения для аудиозаписей на YouTubePlayerFragment init Android Kotlin: java.lang.NoClassDefFoundError: сбой разрешения: <KotlinObject> Как проверить, что изображение было изменено, если в коде HTML нет изменений? Какова наиболее вероятная причина исключений, загадочно избегающих блока try-catch в этом случае? Возможно ли получить доступ к типам Kotlin из Java? Разделение маршрутов на несколько файлов Tornadofx tableview с помощью comboBox и добавление FXEvent на кнопки RxJava (Kotlin), Observable.amb и PublishSubject не стреляют Tornadofx Javafx – Как перезагрузить представление / компонент