summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-12-31 09:44:19 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2017-12-31 09:45:09 -0800
commitaee8b10970d3803fe2838bd0ec86e14cfbb334fd (patch)
treed2c87bd9aa9d652e5ecea0c9faebddd9a10b273e
parent9c7ae6b4179ef6140a16330c0b414419a87d7a1f (diff)
downloadmill-aee8b10970d3803fe2838bd0ec86e14cfbb334fd.tar.gz
mill-aee8b10970d3803fe2838bd0ec86e14cfbb334fd.tar.bz2
mill-aee8b10970d3803fe2838bd0ec86e14cfbb334fd.zip
Make sure we properly catch exceptions when a `Task` returning an explicit `Result[T]` instead throws an exception
-rw-r--r--core/src/main/scala/mill/eval/Evaluator.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/core/src/main/scala/mill/eval/Evaluator.scala b/core/src/main/scala/mill/eval/Evaluator.scala
index 4d94d3d9..f53aab40 100644
--- a/core/src/main/scala/mill/eval/Evaluator.scala
+++ b/core/src/main/scala/mill/eval/Evaluator.scala
@@ -213,6 +213,8 @@ class Evaluator[T](val workspacePath: Path,
target.evaluate(args)
}
}
+ }catch{ case e: Throwable =>
+ Result.Exception(e)
}finally{
System.setErr(err)
System.setOut(out)