Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Informative runtime error
  • Loading branch information
khud committed Apr 17, 2018
commit df5d61a3ddfe41b28f59c9ab8abe832e10e8df1c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ open class ReplEvaluator(
scriptInstance
}
catch (e: Throwable) {
return Result.Error(EvalError.RuntimeError(e.message ?: e.javaClass.canonicalName, e as? Exception))
return Result.Error(EvalError.RuntimeError(e.message ?: e.cause?.message ?: e.javaClass.canonicalName, e.cause as? Exception))
}

commitSnippets(state, data.snippets)
Expand Down
9 changes: 6 additions & 3 deletions kshell/src/main/kotlin/sparklin/kshell/KShell.kt
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,12 @@ open class KShell(val disposable: Disposable,
})
}

fun handleError(error: EvalError) {
println("Message: ${error.message}")
}
fun handleError(error: EvalError) = when (error) {
is EvalError.RuntimeError -> {
if (error.cause != null) error.cause?.printStackTrace() else println("Runtime Error: ${error.message}")
}
is EvalError.CompileError -> println("Compile Error: ${error.message}")
}

fun handleSuccess(result: EvalResult) {
if (result is EvalResult.ValueResult)
Expand Down