aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/SymbolLoaders.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-12-14 19:15:18 +0100
committerMartin Odersky <odersky@gmail.com>2014-12-15 16:36:53 +0100
commit332b1af33441b382b3e1efa68c5dab4fcda8b2bc (patch)
treeb04a52702b09d8423fc053f88e1883940e27b600 /src/dotty/tools/dotc/core/SymbolLoaders.scala
parent0eec180a686a4425bd3f3089006eda530123fe2e (diff)
downloaddotty-332b1af33441b382b3e1efa68c5dab4fcda8b2bc.tar.gz
dotty-332b1af33441b382b3e1efa68c5dab4fcda8b2bc.tar.bz2
dotty-332b1af33441b382b3e1efa68c5dab4fcda8b2bc.zip
Replace Throwable catches with NonFatal
Previously, stackoverflows led to infinite loops because the catch immediately threw another stack overflow. Anyway, one should never catch Throwable.
Diffstat (limited to 'src/dotty/tools/dotc/core/SymbolLoaders.scala')
-rw-r--r--src/dotty/tools/dotc/core/SymbolLoaders.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/SymbolLoaders.scala b/src/dotty/tools/dotc/core/SymbolLoaders.scala
index 886c728b7..76ba3885e 100644
--- a/src/dotty/tools/dotc/core/SymbolLoaders.scala
+++ b/src/dotty/tools/dotc/core/SymbolLoaders.scala
@@ -14,6 +14,7 @@ import Contexts._, Symbols._, Flags._, SymDenotations._, Types._, Scopes._, util
import StdNames._, NameOps._
import Decorators.{StringDecorator, StringInterpolators}
import pickling.ClassfileParser
+import scala.util.control.NonFatal
object SymbolLoaders {
/** A marker trait for a completer that replaces the original
@@ -206,7 +207,7 @@ abstract class SymbolLoader extends LazyType {
} catch {
case ex: IOException =>
signalError(ex)
- case ex: Throwable =>
+ case NonFatal(ex) =>
println(s"exception caught when loading $root: $ex")
throw ex
} finally {