Scala编程:资源管理、参数调用与特性应用
1. 资源管理与异常处理
在Scala编程中,资源管理和异常处理是重要的部分。 scala.io.Source API可以方便地处理文件和其他来源的数据流,但如果文件不存在,它会抛出异常。当资源使用完毕,无论是否成功,都应在 finally 子句中进行清理。
Scala的异常处理与大多数流行语言类似,通过 throw new MyBadException(…) 抛出异常,如果自定义异常是 case class ,可以省略 new 。
1.1 自动资源管理实现
下面是一个可复用的应用资源管理器的实现:
package progscala2.rounding
import scala.language.reflectiveCalls
import scala.util.control.NonFatal
object manage {
def apply[R <: { def close():Unit }, T](resource: => R)(f: R => T) = {
var res: Option[R] = None
try {
res = Some(resource) // Only reference "resource" once!!
f(res.get)
} catch {
c
超级会员免费看
订阅专栏 解锁全文
1053

被折叠的 条评论
为什么被折叠?



