title: Issue of Exception Leakage
body: <p>I have a doubt regarding exception leak.</p>
  
  <pre><code> case class CustomException(message: String) extends RuntimeException(message)
  
     def listOfFut(list: List[Int]): Future[List[Int]] = {
            def handleFut(list: List[Int]): Future[List[Int]] = {
              if (list.isEmpty) throw CustomException("Test")
              else Future.successful(list)
            }
            for {
              myList &lt;- Future.successful(list)
              result &lt;- handleFut(myList)
            } yield result
          }
  </code></pre>
  
  <p>I have done same thing like above snippet but got the feedback it might leak the exception without wrapping it.
  Basically, <code>throw CustomException("Test")</code> might leak the exception. </p>