From 46c2adda4e94b659686a4cabe56ac490564e57b7 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 1 Dec 2017 23:14:56 +0900 Subject: [PATCH] REPL: Fix crash on trying to :load with incorrect filename (KT-12037) (cherry picked from commit 0238575a36beec36c412862ded8abcad02ab4c1f) --- .../jetbrains/kotlin/cli/jvm/repl/ReplFromTerminal.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/ReplFromTerminal.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/ReplFromTerminal.kt index af0296b29ce..b4214d49780 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/ReplFromTerminal.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/ReplFromTerminal.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.cli.jvm.repl.messages.unescapeLineBreaks import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.KotlinCompilerVersion import java.io.File +import java.io.IOException import java.io.PrintWriter import java.util.* import java.util.concurrent.Callable @@ -140,8 +141,12 @@ class ReplFromTerminal( } else if (split.size >= 2 && split[0] == "load") { val fileName = split[1] - val scriptText = FileUtil.loadFile(File(fileName)) - eval(scriptText) + try { + val scriptText = FileUtil.loadFile(File(fileName)) + eval(scriptText) + } catch (e: IOException) { + writer.outputCompileError("Can not load script: ${e.message}") + } return true } else {