Pattern.scala 316 Bytes
Newer Older
杜发飞 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
package com.hikcreate.data.common

import scala.util.control.Exception.ignoring

trait Pattern{

  type closeable = { def close():Unit }

  def using[R<:closeable,T](resoucre:R)(execute:R => T):T={
    try{
      execute(resoucre)
    }finally {
      ignoring(classOf[Throwable]) apply resoucre.close()
    }
  }
}