Tag: exception

Gradle项目:java.lang.NoClassDefFoundError:kotlin / jvm / internal / Intrinsics

我正在开发一个Java项目,在这个项目中,我第一次尝试了Kotlin。 我开始使用Intellij Idea中提供的JavaToKoltin转换器将一些类转换为Kotlin。 其中我的自定义例外现在转换为Kotlin。 但是,这个exception处理不再正确工作了。 如果我在java代码中抛出一个自定义exception(例如MyCustomKotlinException.kt ),那么这个exception不会被捕获(见下面的代码)。 // Example.java package foo import java.util.*; import java.lang.*; import java.io.*; import foo.MyCustomKotlinException; class Example { public static void main (String[] args) { try { // Do some stuff // if Error MyCustomKotlinException e = new MyCustomKotlinException(“Error Message”); throw e; } catch (MyCustomKotlinException e) { // <– THIS PART […]

Kotlin调用Java平台types导致llegalStateException

我在我的一个Android类中使用了kotlin ,并且在尝试从Bundle获取额外信息时,似乎有时会popupIllegalStateException kotlin 。 keyOrTag = bundle.getString(“tag”) val是这样宣布的 val keyOrTag: String 不幸的是,我没有完整的堆栈跟踪,因为我从GP控制台注意到了这一点。

Kotlin协同吞咽exception

我很困惑如何exception处理协同作品。 我希望有可能有一个挂起的function,可以通过例如自己之间的例外同步代码。 所以如果说Retrofit抛出一个IOExceptionexception,我可以在挂起函数链的开始处理这个exception,例如在演示者中向用户显示错误。 我做了这个简单的例子来尝试协同程序,但如果我取消注释throw Exception调用exception后运行的代码失败,但exception不会崩溃的应用程序。 package com.example.myapplication import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.Button import android.widget.TextView import kotlinx.coroutines.experimental.delay import kotlinx.coroutines.experimental.launch class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val text = findViewById(R.id.thing_text) val button = findViewById(R.id.thing_button) var count = 0 button.setOnClickListener { launch { count++ // throw Exception(“Boom”) val string = delayedStringOfInt(count) […]

Kotlin / Android – 带有lambda的数据类中的KotlinReflectionInternalError

kotlin.reflect.jvm.internal.KotlinReflectionInternalError:反思本地函数,lambdas,匿名函数和局部variables在Kotlinreflection中还没有完全支持 这个exception来自数据类的toString() 。 数据类包含一个lambda。 我不能在我的环境中重现它。 我是否需要重写toString()来排除lambda? 或者lambda在数据类中是不允许的? data class PersistJob( private val id: Int, private val delay: Long = 10_000L, private val maxDelay: Long = 60_000L, private val iteration: Int = 0, private val block: suspend (Int) -> Boolean) { fun getDelay() = minOf(delay, maxDelay) fun withDelayIncreased() = copy( delay = minOf(delay * 2, maxDelay), […]

为什么Kotlin不需要明确地尝试和捕捉

例如: FileOutputStream(“file”) 会在Kotlin中编译,但是在Java中它会给编译器一个错误。 为什么?