loan patternのサンプル
妙なところに投稿してしまっていたようです。すみません。 ネットワークプログラムは不慣れなところがありますので、ビシィっと指導してくださいませ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | //loan patternのサンプル
//お題:http://ja.doukaku.org/258/
import java.net._
object LoanSample {
def main(args : Array[String]) : Unit = {
SocketLoan.processWith("ja.doukaku.org",80){
sock=>
println( sock )
// ここにいろいろな処理
// そして、たまに、間違う
var a = 1/0 // ---> java.lang.ArithmeticException
// ここにいろいろな処理
()
}
}
}
object SocketLoan{
def processWith(serverName:String,port:Int)(op:Socket=>Unit) : Unit = {
try{
val sock = new Socket(serverName,port)
//-------------------------------
try{
// loan it
op(sock)
}catch{
case e:Exception => println("err inside loan : "+e)
case _ =>
}
//-------------------------------
sock.close()
}catch{
case e:Exception => println("err outside loan"+ e)
case _ =>
}
}
}
|




yamamoto
#9105()
Rating-7/9=-0.78
see: 'Loan' pattern (Scala wiki)
1 reply [ reply ]