You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让IntelliJ在使用Gradle时显示Kotlin异常信息?

让Gradle显示Kotlin应用抛出的具体异常信息

当你的Kotlin应用抛出IllegalArgumentException但Gradle仅返回进程非零退出码,看不到具体异常细节时,可以通过以下几种方法解决:

  • 配置Gradle任务转发应用输出
    在项目的build.gradle.kts(Kotlin DSL)或build.gradle(Groovy DSL)中添加配置,让Gradle直接把应用的标准输出和错误流打印到控制台:

    // Kotlin DSL
    tasks.withType<JavaExec> {
        standardOutput = System.out
        errorOutput = System.err
    }
    

    或者Groovy版本:

    // Groovy DSL
    tasks.withType(JavaExec) {
        standardOutput = System.out
        errorOutput = System.err
    }
    

    配置完成后重新运行run任务,就能看到应用抛出的异常堆栈信息。

  • 用Gradle命令行参数提升日志级别
    直接在终端执行带日志参数的Gradle命令,获取更详细的运行信息:

    ./gradlew run --info
    

    --info参数会输出足够定位问题的应用异常信息;如果需要更详尽的日志可以用--debug,但该参数会输出大量Gradle内部细节,一般--info已满足需求。

  • 调整IntelliJ的Run配置
    在IntelliJ的Run/Debug Configurations中找到你的run任务:

    1. 在"Arguments"输入框中添加--info参数;
    2. 切换到"Logs"标签页,勾选"Show output of: Java Exec"选项,确保应用的输出被捕获并显示在控制台。
  • 在代码中添加全局异常捕获
    如果以上方法仍不生效,可以在应用main函数中添加全局未捕获异常处理器,强制打印堆栈信息:

    fun main() {
        Thread.setDefaultUncaughtExceptionHandler { _, exception ->
            exception.printStackTrace(System.err)
            System.exit(1)
        }
        // 你的应用逻辑代码
    }
    

内容的提问来源于stack exchange,提问作者axolotlKing0722

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 08:14:52