File tree Expand file tree Collapse file tree
modules/src/main/java/com/platzi/functional/_14_optionals Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -28,7 +28,7 @@ static Optional<String> optionals() {
2828
2929
3030
31-
31+
3232 //Y si lo que queremos es evitar devolver un null pero no tenemos un valor para regresar,
3333 //podemos usar simplemente:
3434 return Optional .empty ();
@@ -105,7 +105,12 @@ static void obtenerUnDato() {
105105
106106
107107 //Es importante mencionar que Optional no ejecutara ninguna de estas funciones
108- //en casos donde el dato no existe (null, empty() ). Asi que es seguro.
108+ //en casos donde el dato no existe (null, empty() ). Asi que es una manera segura de
109+ //escribir codigo sin preocuparnos por la presencia del dato.
110+
111+ //En casos muy especificos donde quisieramos generar un Exception cuando haya una ausencia
112+ //de datos, podemos usar el metodo `orElseThrow`:
113+ integerOptional .orElseThrow (() -> new DatoNecesarioException ());
109114
110115 //Optional nos da un acercamiento hacia un concepto que en FP se conoce como Monad
111116 }
@@ -220,4 +225,8 @@ static String complexFunction() {
220225 static void someComplexOperation (String s ) {
221226
222227 }
228+
229+ static class DatoNecesarioException extends IllegalArgumentException {
230+
231+ }
223232}
You can’t perform that action at this time.
0 commit comments