title: How come the following code prints Success(4) if i'm throwing an exception inside?
body: <pre><code>object MyRealMainObj extends App {
  
    println(
      Try(1)
        .map(doOne)
        .map(doTwo)
  
    )
  
    def doOne(i: Int): Int = i + 1; throw new RuntimeException("failed in one")
    def doTwo(i: Int): Int = i + 2
  }
  </code></pre>
  
  <p>result:</p>
  
  <pre><code>Success(4)
  Exception in thread "main" java.lang.RuntimeException: failed in one
      at MyRealMainObj$.delayedEndpoint$MyRealMainObj$1(TestMainArgs.scala:16)
      at MyRealMainObj$delayedInit$body.apply(TestMainArgs.scala:7)
      at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
      at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
      at scala.App$$anonfun$main$1.apply(App.scala:76)
      at scala.App$$anonfun$main$1.apply(App.scala:76)
  </code></pre>
  
  <p>How come it printed <code>Success(4)</code> didn't the <code>doOne</code> was supposed to fail as i'm throwing exception there?</p>