1
00:00:00,150 --> 00:00:03,570
Bienvenidos en esta clase, vamos a hacerlo mensaje de error personalizado.

2
00:00:03,690 --> 00:00:11,220
Si en cada Azeroth hacer equals, hacer truo o cualquiera, le podemos dar un texto, un mensaje personalizado

3
00:00:11,310 --> 00:00:15,120
al error como segundo argumento, como segundo, como tercero, según corresponda.

4
00:00:15,330 --> 00:00:16,560
Bueno, partamos al principio.

5
00:00:16,680 --> 00:00:23,250
Por ejemplo, acá la primera prueba, por ejemplo, hacernos null, hacer y hacer thru todos.

6
00:00:23,640 --> 00:00:28,830
Como último argumento, un mensaje es trinque y esto puede complementar, puede dar mucho más valor

7
00:00:28,920 --> 00:00:31,500
al mensaje de error que sea más descriptivo.

8
00:00:31,560 --> 00:00:38,850
No solamente el mensaje de error que lanza Yuni por defecto, por ejemplo, el objeto o la cuenta no

9
00:00:38,850 --> 00:00:39,540
puede ser nula.

10
00:00:43,470 --> 00:00:50,250
Se fijan algo más descriptivo lo mismo acá el nombre de la cuenta no es el que se esperaba.

11
00:00:50,490 --> 00:00:51,060
Por ejemplo,

12
00:00:57,190 --> 00:01:00,210
se fijan mucho mejor y por acá también.

13
00:01:00,450 --> 00:01:03,030
Otro strength esperado debe ser igual.

14
00:01:03,060 --> 00:01:04,560
Por ejemplo, al real,

15
00:01:10,200 --> 00:01:11,250
a la real o actual.

16
00:01:11,490 --> 00:01:13,050
Más detalle a detalle, mensaje, error.

17
00:01:13,140 --> 00:01:18,300
En caso de que falle ahora, acá hay un tema importante que acá es donde quiero apuntar este string

18
00:01:18,480 --> 00:01:23,750
solamente se va a mostrar, solamente se va a ejecutar, se va a consumir cuando se muestre el error

19
00:01:23,970 --> 00:01:26,850
o en realidad se debiera de consumir porque tenemos un problema.

20
00:01:27,000 --> 00:01:32,970
Este string también se puede pasar como una función anónima, una prisión lanta para que solamente se

21
00:01:32,970 --> 00:01:39,030
pueda generar, se pueda construís, se pueda consumir solo si ocurre el error, de acuerdo, porque

22
00:01:39,090 --> 00:01:44,430
de esta forma si lo pasamos de forma literal, tal como lo estamos haciendo ahora, se va a crear la

23
00:01:44,430 --> 00:01:48,900
instancia, se va a generar el string que siempre ocurra o no ocurra el error.

24
00:01:49,090 --> 00:01:52,740
Y podríamos tener según la cantidad de text con varios mensajes.

25
00:01:52,830 --> 00:01:57,840
Imagínense, podríamos tener varias clases de test con varios métodos y cada método con hacer chón y

26
00:01:57,840 --> 00:02:05,340
comenzarse de errores incluso pueden ser concatenación mensaje de error que concatena variable que construye

27
00:02:05,490 --> 00:02:09,090
un string complejo costoso también de generar.

28
00:02:09,280 --> 00:02:15,150
Entonces, si la prueba pasa y nos falla, no tiene ningún sentido de consumir este stream, de crear

29
00:02:15,150 --> 00:02:16,600
la instancia a consumir.

30
00:02:16,620 --> 00:02:23,880
Me refiero a que UNIT crea la instancia de este string y eso ocupa ciertos recursos, espacio y memoria

31
00:02:24,000 --> 00:02:26,370
que finalmente si son muchos es costoso.

32
00:02:26,520 --> 00:02:27,300
Y ella punto.

33
00:02:27,540 --> 00:02:33,120
Y esto se puede solventar, se puede solucionar con expresiones lambda, ya lo vamos a ver, pero por

34
00:02:33,120 --> 00:02:36,180
ahora vamos a ejecutar para que vean de qué se trata.

35
00:02:36,450 --> 00:02:39,570
Solamente va a ejecutar este método ya para que lo veamos ahora.

36
00:02:39,570 --> 00:02:42,600
Claro, si lo ejecuto y está todo correcto, no pasa nada.

37
00:02:43,620 --> 00:02:44,640
No muestra ningún mensaje.

38
00:02:44,640 --> 00:02:47,670
Error, claro, porque no hay nada que mostrar.

39
00:02:47,970 --> 00:02:54,210
Pero de todas formas igual estos objetos, estos string se crearon, se instanciar o se construyeron

40
00:02:54,300 --> 00:02:56,260
y están ocupando espacio y recursos.

41
00:02:56,520 --> 00:03:02,100
Vamos a simular el error, por ejemplo esperado Andrés, pero el real es Andrés G.

42
00:03:02,190 --> 00:03:04,140
F, por poner un ejemplo perfecto.

43
00:03:04,260 --> 00:03:05,160
Bueno, ejecutemos.

44
00:03:09,300 --> 00:03:13,530
Se fijan, acá muestro el error esperado en 3 actual Andrè Jefe.

45
00:03:13,740 --> 00:03:16,440
El nombre de la cuenta no es el que se esperaba.

46
00:03:16,550 --> 00:03:22,080
Se fijan, incluso, como decía, podría ser un poco más complejo en el sentido de que podemos concatenar.

47
00:03:22,290 --> 00:03:22,890
Por ejemplo.

48
00:03:22,950 --> 00:03:25,200
2 punto se esperaba

49
00:03:27,660 --> 00:03:29,550
concatenados con esperado.

50
00:03:32,120 --> 00:03:42,590
Sin embargo, voy a bajar para que no sea tan extenso un espacio, sin embargo, fue lleca concatenados

51
00:03:42,880 --> 00:03:45,140
espacio más real.

52
00:03:46,070 --> 00:03:51,370
Se fijan que tenemos una construcción un poco más compleja, más elaborada del estric.

53
00:03:55,630 --> 00:03:58,540
En nombre de la cuenta no es el que se esperaba, se esperaban tres.

54
00:03:59,410 --> 00:04:01,200
Sin embargo, fue Andrés jefe.

55
00:04:02,020 --> 00:04:05,260
Se fijan, entonces podemos dar mucho más valor con el mensaje texto.

56
00:04:05,500 --> 00:04:11,230
Ahora, en vez de colocar de forma literal que era como se hacía, por ejemplo en versiones anteriores

57
00:04:11,230 --> 00:04:12,790
de UNIT en la versión 4.

58
00:04:12,910 --> 00:04:18,370
Ahora podemos utilizar represiones lambda y esto implica, en vez de pasar el string, la construcción,

59
00:04:18,490 --> 00:04:25,840
la instancia del objeto string, pasamos un valor futuro del string, es decir, pasamos un método que

60
00:04:25,840 --> 00:04:28,720
contiene la construcción del estèn, pero no se construye.

61
00:04:28,750 --> 00:04:34,370
Solamente pasamos el método que va a construir el string y se va a ejecutar por debajo en el acept no

62
00:04:34,390 --> 00:04:38,170
null oblicuas o en true o en cualquier acechas.

63
00:04:38,260 --> 00:04:40,690
Ahí se va a invocar este método solamente si falla.

64
00:04:40,750 --> 00:04:44,830
Si falla, se invoca este método y se construye el string, entonces mucho más eficiente.

65
00:04:45,100 --> 00:04:49,710
Si la prueba pasa, estos string nunca se van a instanciar, nunca se van a crear.

66
00:04:50,050 --> 00:04:53,680
Entonces simplemente una landa de flecha.

67
00:04:53,980 --> 00:04:55,870
Nada más cambiamos esto.

68
00:04:56,770 --> 00:04:58,270
Por una prisión lanta.

69
00:05:02,300 --> 00:05:05,530
De Bingen, obviamente al ojo humanos no nos damos.

70
00:05:05,710 --> 00:05:10,750
No lo vamos a ver cuando ejecutemos, pero si, si la prueba sale correcta, no falla.

71
00:05:10,840 --> 00:05:13,390
Estos objetos no se crean, pero si falla se van a crear.

72
00:05:13,600 --> 00:05:16,960
Obviamente va a ejecutar, pero no lo vamos a visualizar.

73
00:05:18,030 --> 00:05:18,540
Te dejan?

74
00:05:19,550 --> 00:05:21,050
Pero si es mucho mejor.

75
00:05:21,830 --> 00:05:26,510
Y como lo tenemos acá con Holanda, también podríamos dar mensajes de error en cualquiera.

76
00:05:26,630 --> 00:05:28,100
Acá también en todos los.

77
00:05:28,910 --> 00:05:35,100
Obviamente no lo voy a hacer porque uno no tiene sentido, pero incluso acá, en cada hacer equals,

78
00:05:35,590 --> 00:05:37,370
en hacer gol en cada ser.

79
00:05:37,430 --> 00:05:38,840
Y cuáles podrían pasar?

80
00:05:38,870 --> 00:05:42,350
No septo un mensaje de texto, una expresión Lanta.

81
00:05:42,530 --> 00:05:48,050
Recuerden, estamos pasando una invocación futura de un método que estamos pasando con un piso en Holanda.

82
00:05:48,170 --> 00:05:50,660
No se va a crear el estric de forma inmediata.

83
00:05:50,750 --> 00:05:52,100
Solamente si falla.

84
00:05:52,280 --> 00:05:53,040
Eso es lo importante.

85
00:05:53,450 --> 00:05:58,220
Entonces, solamente para un ejemplo, un lanta.

86
00:05:58,430 --> 00:05:59,870
El valor del saldo de la cuenta

87
00:06:02,960 --> 00:06:07,220
de la cuenta 2 no es el esperado.

88
00:06:08,450 --> 00:06:08,960
Se fijan.

89
00:06:10,090 --> 00:06:15,250
De hecho, vamos a bajar el qué mejor, pero lo dejamos acá, por acá se dejan.

90
00:06:15,350 --> 00:06:16,270
Y así por cada uno.

91
00:06:16,600 --> 00:06:23,680
De hecho podemos copiar esto acá lo copiamos y lo pegamos acá dentro del hacer.

92
00:06:24,370 --> 00:06:31,170
Entonces coma espacio, bajamos y pegamos este para la cuenta uno cuenta uno, este cuenta dos, este

93
00:06:31,180 --> 00:06:32,770
cuenta uno, así que cuenta uno.

94
00:06:34,150 --> 00:06:35,620
Acá lo mismo con el banco.

95
00:06:43,530 --> 00:06:49,200
El banco no tiene las cuentas esperadas, que serían dos, de hecho dos podría ser una variable de esta

96
00:06:49,200 --> 00:06:49,860
prisión linda.

97
00:06:49,950 --> 00:06:54,180
Acá una variable y la podemos utilizar acá y acá cuenta esperadas.

98
00:06:54,270 --> 00:06:55,500
Igual dos se fijan.

99
00:06:55,610 --> 00:06:55,980
Y en fin.

100
00:06:56,070 --> 00:06:57,390
Y así por cada uno.

101
00:06:57,600 --> 00:07:03,360
Entonces damos más valor a los mensajes de error y solamente se crean si falla, si no falla y sale

102
00:07:03,360 --> 00:07:05,100
todo bien, no se consume el string.

103
00:07:05,350 --> 00:07:11,550
Bien, lo dejamos así y continuamos la siguiente clase con algunas anotaciones, por ejemplo display

104
00:07:11,640 --> 00:07:18,690
name para dar un nombre a nuestra prueba, a nuestro método y también la notación disable para deshabilitar

105
00:07:18,750 --> 00:07:19,590
una preguntaria.

106
00:07:19,830 --> 00:07:23,760
Ahora, como ejercicio, si quieren puede completar acá con mensajes de error.

107
00:07:23,850 --> 00:07:28,530
En caso de falla, acá por ejemplo, algún mensaje descriptivo nos vemos.
