Error Handling in Scala

Có nhiều cách để Error Handling trong Scala, chúng ta sẽ cùng nhau tìm hiểu.
Hãy nhìn ví dụ dưới đây:

Khi gọi hàm buyCoffee với tham số truyền vào là 5, hệ thống sẽ throw ra exception:

OK, theo cách truyền thống chúng ta sẽ sử dụng try/catch để xử lý:

Look good, nhưng nhìn lại chúng ta đang code theo cách của Java :P.

Chúng ta sẽ viết lại đoạn code trên theo cách của Scala!

Chúng ta sử dụng Try block trong hàm buyCoffee và kiểu trả về của hàm này sẽ là Try[Coffee]. Hàm buyCoffee lúc này không cần thực hiện “Error Handling”, nó trả ra Success(Coffee) hoặc Failure(java.lang.Exception: Not enough money to buy a coffee, need 10).
Có nhiều cách khác nhau để extract giá trị của lệnh gọi hàm buyCoffee(5),

Hoặc bạn có thể dùng getOrElse

Hoặc bạn có thể sử dụng Pattern Matching:

Nhưng mình thích nhất là cách này,

Sử dụng recover để bắt trường hợp Try trả ra Failure

OK! Hẹn gặp lại các bạn trong các bài chia sẻ tiếp theo.

Add a Comment

Your email address will not be published.