1
00:00:00,240 --> 00:00:05,230
Vamos a crear un opacados por acá de Yaba dentro del paquete base, como siempre.

2
00:00:06,940 --> 00:00:07,390
Por acá.

3
00:00:07,450 --> 00:00:08,040
Punto.

4
00:00:08,470 --> 00:00:09,790
Errors de errores.

5
00:00:09,970 --> 00:00:11,660
Entonces en APP.

6
00:00:11,770 --> 00:00:16,210
Punto errors finalizar, vamos a crear nuestra clase.

7
00:00:16,300 --> 00:00:16,900
Decepción.

8
00:00:16,960 --> 00:00:19,570
Por ejemplo, le podríamos llamar usuario.

9
00:00:19,570 --> 00:00:20,200
No he encontrado.

10
00:00:24,390 --> 00:00:30,690
Exception decepción usuario no encontrado es bien y en superclase vamos a buscar acá.

11
00:00:32,040 --> 00:00:34,090
Por Right Time Exception?

12
00:00:35,700 --> 00:00:36,510
Acá la tenemos.

13
00:00:36,660 --> 00:00:37,260
Right time.

14
00:00:37,410 --> 00:00:38,920
Excepto la seleccionamos.

15
00:00:39,370 --> 00:00:42,210
Ok, finalizar, pero super simple.

16
00:00:42,270 --> 00:00:47,100
Bueno, lo primero acá nos pide con un warning agregar el serial version.

17
00:00:47,370 --> 00:00:49,650
Entonces agregamos un default seria Halverson.

18
00:00:50,160 --> 00:00:51,840
Bueno, esto lo maneja por debajo.

19
00:00:51,930 --> 00:00:52,350
Ya va.

20
00:00:53,640 --> 00:00:56,160
Pero para este caso lo mismo incluso lo podríamos omitir.

21
00:00:56,280 --> 00:00:57,150
Este sería el versión.

22
00:00:57,240 --> 00:00:58,710
Iba a funcionar exactamente igual.

23
00:00:58,800 --> 00:01:04,980
Más que nada es para la serialización en caso de que queramos guardar el objeto en alguna sesión HTTP

24
00:01:05,260 --> 00:01:08,050
o convertir por ejemplo habits.

25
00:01:08,190 --> 00:01:11,760
En fin, trabaja con lactancias o transferir este objeto de forma remota.

26
00:01:11,880 --> 00:01:14,940
Bueno, más que nada para eso, pero para este ejemplo no tiene importancia.

27
00:01:15,030 --> 00:01:21,630
Lo que sí vamos a tener que crear un constructor entonces en Source Generad constructor de la superclase.

28
00:01:22,620 --> 00:01:25,510
Bueno, vamos a seleccionar solamente el string.

29
00:01:25,650 --> 00:01:31,170
Vamos a quitar todo y marcamos el string ragtime exception con el string.

30
00:01:32,670 --> 00:01:33,050
Ok.

31
00:01:34,050 --> 00:01:34,560
Perfecto.

32
00:01:34,650 --> 00:01:35,250
Eso sería.

33
00:01:37,530 --> 00:01:38,970
Pero acá vamos a cambiar.

34
00:01:39,060 --> 00:01:46,110
En vez de mensaje vamos a colocar el Heidy y vamos a agregar un mensaje personalizado, por ejemplo

35
00:01:46,200 --> 00:01:57,390
usuario con Heidy do punto concatenados punto con Katt pasamos el Heidy que estamos recibiendo por argumento

36
00:01:58,200 --> 00:01:59,130
junto con Catt.

37
00:02:04,540 --> 00:02:06,520
No existe en el sistema perfecto.

38
00:02:07,300 --> 00:02:09,560
Acá tenemos el Heidy del tipo String.

39
00:02:10,010 --> 00:02:15,430
Bueno, hay dos opciones, lo pongo acá como Integer y lo convertimos a String acá, o bien lo dejamos

40
00:02:15,430 --> 00:02:17,350
como string y el controlador lo convertimos.

41
00:02:17,410 --> 00:02:18,400
Pero da lo mismo.

42
00:02:18,520 --> 00:02:25,360
Vamos a guardar, vamos a ir de controlador, pero antes voy a cerrar el HTML 500 y también el 404.

43
00:02:26,260 --> 00:02:29,380
Nos vamos a controlador y acá tenemos que preguntar por acá.

44
00:02:29,680 --> 00:02:30,720
Entonces if.

45
00:02:33,640 --> 00:02:42,460
Entonces, si el usuario es null thru, lanzamos la acepción new usuario no encontrado por acá no encontrado

46
00:02:42,550 --> 00:02:44,620
y pasamos a Leydi y acá tenemos a Leidy.

47
00:02:44,660 --> 00:02:46,180
Pero recuerden, es del tipo Integer.

48
00:02:46,240 --> 00:02:50,440
Entonces acá punto tu string lo convertimos a String.

49
00:02:50,830 --> 00:02:51,430
Perfecto.

50
00:02:51,520 --> 00:02:54,580
Entonces lanza la excepción y esta sección la tenemos que manejar.

51
00:02:54,700 --> 00:02:57,640
Bueno, de todas formas vamos a guardar y vamos a volver a intentar.

52
00:02:57,760 --> 00:03:02,890
De todas formas igual va a ser un error 500 pero ya no es un pulpo intercepto, no es un usuario no

53
00:03:02,890 --> 00:03:03,430
encontrado.

54
00:03:03,670 --> 00:03:10,060
Entonces actualizamos, se fijan usuario con Heidy 8 No exciten el sistema usuario no encontrado escepción

55
00:03:10,150 --> 00:03:10,720
cambia.

56
00:03:10,810 --> 00:03:12,820
Lo estamos personalizando para el usuario.

57
00:03:12,940 --> 00:03:18,700
Ahora la idea de personalizar la plantilla, el mensaje de error o el HTML con el mensaje error.

58
00:03:19,180 --> 00:03:21,340
Para eso nos vamos al controlador advisory.

59
00:03:21,640 --> 00:03:22,480
Voy a copiar.

60
00:03:24,160 --> 00:03:24,910
Lo pegamos.

61
00:03:25,600 --> 00:03:26,290
Bajamos.

62
00:03:26,800 --> 00:03:29,760
Usuario no encontrado.

63
00:03:29,840 --> 00:03:30,640
Punto class.

64
00:03:31,030 --> 00:03:33,190
También cambiamos el nombre del método.

65
00:03:37,000 --> 00:03:40,450
Usuarios han encontrado y el tipo usuario no encontrado.

66
00:03:40,990 --> 00:03:46,750
Bueno, todo muy parecido para el ejemplo, pero igual lo podremos adaptar, modificar, pasar otros

67
00:03:46,750 --> 00:03:47,890
atributos a la vista.

68
00:03:47,980 --> 00:03:51,880
En fin, acá hacemos lo que queramos o lo que necesitemos según los requerimientos.

69
00:03:52,360 --> 00:03:54,550
Entonces acá cambiamos el mensaje o el error.

70
00:03:55,750 --> 00:03:56,830
Por ejemplo, herror.

71
00:03:58,010 --> 00:04:00,440
Usuario no existe o usuario no ha encontrado

72
00:04:03,410 --> 00:04:04,400
y también la vista.

73
00:04:05,410 --> 00:04:09,280
Bueno, acá podemos usar la genérica o una personalizada para usuario.

74
00:04:09,470 --> 00:04:16,090
Bueno, pero con la genérica está bien, ya que muestra todos estos atributos, así que estaría perfecta.

75
00:04:16,450 --> 00:04:17,170
Guardamos.

76
00:04:18,520 --> 00:04:25,630
Actualizamos perfecto usuario no encontrado usuario con 8 no existen en sistema error 500 Bien, acá

77
00:04:25,630 --> 00:04:31,000
tenemos genérica la vista, pero podríamos tener una vista personalizada y única para usuarios con un

78
00:04:31,000 --> 00:04:35,080
diseño distinto, con un mensaje distinto, en fin, o con atributo distinto.

79
00:04:35,140 --> 00:04:40,360
Ahí podemos implementarlo a nuestra forma, pero ya lo tenemos bien customizado o personalizado.

80
00:04:40,480 --> 00:04:47,680
Y en el caso de que lo queramos personalizar un poco más, acá colocamos usuario, por ejemplo.

81
00:04:48,950 --> 00:04:49,940
Nos vamos a error.

82
00:04:50,210 --> 00:05:01,160
Voy a copiar genérica, la pegamos, guardamos usuario okei y por ejemplo, vamos a ir usuario.

83
00:05:01,460 --> 00:05:09,130
Voy a quitar el status, por ejemplo, no le quiero mostrar y me quiero quitar el teista tampoco.

84
00:05:09,140 --> 00:05:11,150
Solamente el error y el mensaje.

85
00:05:11,360 --> 00:05:11,870
Nada más.

86
00:05:13,070 --> 00:05:18,020
Actualizamos fijan usuarios encontrados con el 8 no existen, el sistema queda mucho mejor.

87
00:05:18,200 --> 00:05:20,090
Bien, continuamos en la siguiente clase.
