diff --git a/src/main/scala/com/github/shadowsocks/package.scala b/src/main/scala/com/github/shadowsocks/package.scala index a6db148d4b..d0b75ee39e 100644 --- a/src/main/scala/com/github/shadowsocks/package.scala +++ b/src/main/scala/com/github/shadowsocks/package.scala @@ -2,12 +2,17 @@ package com.github import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future +import scala.util.{Success, Failure, Try} /** * @author Mygod */ package object shadowsocks { - def ThrowableFuture[T](f: => T) = Future(f) onFailure { - case e: Throwable => e.printStackTrace() + + val handleFailure: PartialFunction[Try[_], Unit] = { + case Success(_) => + case Failure(e) => e.printStackTrace() } -} + + def ThrowableFuture[T](f: => T) = Future(f) onComplete handleFailure +} \ No newline at end of file