Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.57 KB | None | 0 0
  1. package errorhandling
  2.  
  3. import org.scalactic.{Bad, ErrorMessage, Good, Or}
  4.  
  5. /**
  6. * Demonstrates Scalactic Or type.
  7. */
  8. object makeIntOr extends App {
  9.  
  10. def makeInt(s: String): Int Or ErrorMessage = {
  11. try {
  12. Good(s.trim.toInt)
  13. } catch {
  14. case e: Exception => Bad(e.toString)
  15. }
  16. }
  17.  
  18.  
  19. println(makeInt("1"))
  20.  
  21. println(makeInt("boo"))
  22.  
  23. makeInt("11f") match {
  24. case Good(i) => println("Answer: " + i)
  25. case Bad(msg) => println("Error: " + msg)
  26. }
  27.  
  28. val result = for {
  29. a <- makeInt("1")
  30. b <- makeInt("foo")
  31. } yield a + b
  32.  
  33. println(result)
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement