From 332b1af33441b382b3e1efa68c5dab4fcda8b2bc Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Sun, 14 Dec 2014 19:15:18 +0100 Subject: 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. --- src/dotty/tools/dotc/core/SymbolLoaders.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/dotty/tools/dotc/core/SymbolLoaders.scala') 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 { -- cgit v1.2.3