Skip to content

Commit 2074da2

Browse files
committed
exception try class
1 parent e6e89e4 commit 2074da2

File tree

3 files changed

+35
-14
lines changed

3 files changed

+35
-14
lines changed

src/main/worksheets/e_Exception/c_try.sc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@ import scala.util.{Try, Success, Failure}
22

33
// Intro
44
// =====
5+
// TODO -1- implement an exception handling without
6+
// try/catch clause use the Try class
7+
// TODO -me- call by name
58
// the old known Int converter
69
val convert: Try[Int] = Try { "abc".toInt }
710

11+
// TODO -2- implement match clause
812
// try is am abstract class, a sealed abstract class
913
// with two sub final case classes
1014
// 1 - Success - contains the result
@@ -14,6 +18,7 @@ convert match {
1418
case Failure(exc) => println(s"Buhh $exc")
1519
}
1620

21+
// TODO -me- show few methods
1722
// use of map/flatMap/transform/getOrElse
1823
val a1 = convert.flatMap(x => Success(3))
1924
val a2 = convert.transform(x => Success(x+1), e => Success(2))
@@ -22,6 +27,9 @@ val a4 = convert.getOrElse(42)
2227

2328

2429

30+
// ====================================
31+
// optional
32+
// ====================================
2533

2634
// work with monad functions
2735
// =========================
Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
import scala.util.{Try, Success, Failure}
22

3-
// TODO -1- implement an exception handling without try/catch clause
4-
// TODO use the Try class
5-
val convert = "abc".toInt
3+
// TODO -1- implement an exception handling without
4+
// try/catch clause use the Try class
5+
// TODO -me- call by name
6+
val convert: Try[Int] = ???
7+
8+
9+
// TODO -2- implement match clause
10+
11+
12+
// TODO -me- show few methods
13+
val a1 = ???
14+
val a2 = ???
15+
val a3 = ???
16+
val a4 = ???
17+
618

src/main/worksheets/e_Exception/c_try_optional.sc

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,30 @@ val list = Seq("3", "mal", "4", "is", "gleich", "12")
44

55
// TODO -1- convert Strings into Int with Try
66
def convert(list: Seq[String]): Seq[Try[Int]] = ???
7+
val resultConvert = convert(list)
8+
79

810
// TODO -2- sum up every number
911
def sum(list: Seq[Try[Int]]): Int = ???
1012

13+
val resultSum = sum(resultConvert)
14+
assert(resultSum==19)
15+
16+
1117
// TODO -3- return a Int Sequence only with the natural numbers
1218
def onlyNumbers(list: Seq[Try[Int]]): Seq[Int] = ???
1319

20+
val resultOnlyNumbers = onlyNumbers(resultConvert)
21+
assert(resultOnlyNumbers == Seq(3,4,12))
22+
23+
1424
// TODO -4- number * 2 + 1 for every failure
1525
// TODO 3*2 + 1 + 4*2 + 1 + 1 + 12*2
1626
def sumNumber2AndAddFailure(list: Seq[Try[Int]]): Int = ???
1727

28+
val resultSumNumber2AndAddFailure = sumNumber2AndAddFailure(resultConvert)
29+
assert(resultSumNumber2AndAddFailure == 41)
1830

1931

2032

21-
// Test
22-
// ====
23-
val resultConvert = convert(list)
24-
25-
val resultSum = sum(resultConvert)
26-
assert(resultSum==19)
2733

28-
val resultOnlyNumbers = onlyNumbers(resultConvert)
29-
assert(resultOnlyNumbers == Seq(3,4,12))
30-
31-
val resultSumNumber2AndAddFailure = sumNumber2AndAddFailure(resultConvert)
32-
assert(resultSumNumber2AndAddFailure == 41)

0 commit comments

Comments
 (0)