当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala control.ControlThrowable用法及代码示例


用法:

abstract class ControlThrowable(message: String) extends Throwable

用于流控制的可抛出对象的父类。

ControlThrowable 的实例通常不应被捕获。

为方便起见,NonFatalControlThrowable 不匹配。

import scala.util.control.{Breaks, NonFatal}, Breaks.{break, breakable}

breakable {
  for (v <- values) {
    try {
      if (p(v)) break
      else ???
    } catch {
      case NonFatal(t) => log(t)  // can't catch a break
    }
  }
}

抑制被禁用,因为流控制不应该抑制异常情况。堆栈跟踪也被禁用,允许安全地重用ControlThrowable 的实例。

ControlThrowable 的实例通常不应有原因。遗留子类可以使用 initCause 设置原因。

源码:

ControlThrowable.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 control.ControlThrowable。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。