Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added ControlException marker trait and update ...
Added ControlException marker trait and update various exceptions to mix it in; the typer now correctly propagates ControlExceptions rather than reporting them; the IDE reports attempts to log ControlExceptions; Global.signalDone no longer leaks ValidateErrors back into the typer; the set of compiler options offered by the IDE has been updated.
- Loading branch information
1 parent
370817a
commit 69e1ddb
Showing
11 changed files
with
76 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* __ *\ | ||
** ________ ___ / / ___ Scala API ** | ||
** / __/ __// _ | / / / _ | (c) 2003-2009, LAMP/EPFL ** | ||
** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** | ||
** /____/\___/_/ |_/____/_/ | | ** | ||
** |/ ** | ||
\* */ | ||
|
||
// $Id$ | ||
|
||
package scala.util.control | ||
|
||
/** | ||
* A marker trait indicating that the <code>Throwable</code> it is mixed | ||
* into is intended for flow control. | ||
* | ||
* <p>Note that <code>Throwable</code> subclasses which extend this trait | ||
* may extend any other <code>Throwable</code> subclass (eg. | ||
* <code>RuntimeException</code>) and are not required to extend | ||
* <code>Throwable</code> directly.</p> | ||
* | ||
* <p>Instances of <code>Throwable</code> subclasses marked in | ||
* this way should not normally be caught. Where catch-all behaviour is | ||
* required <code>ControlException</code>s should be propagated, for | ||
* example,</p> | ||
* | ||
* <pre> | ||
* import scala.util.control.ControlException | ||
* | ||
* try { | ||
* // Body might throw arbitrarily | ||
* } catch { | ||
* case ce : ControlException => throw ce // propagate | ||
* case t : Exception => log(t) // log and suppress | ||
* </pre> | ||
* | ||
* @author Miles Sabin | ||
*/ | ||
trait ControlException extends Throwable |