1
00:00:00,809 --> 00:00:04,431
[MUSIC]

2
00:00:04,431 --> 00:00:08,086
La communication entre le client et le serveur n'est jamais une affaire faite.

3
00:00:08,086 --> 00:00:10,326
Pour paraphraser un fameux proverbe,

4
00:00:10,326 --> 00:00:14,168
il y a beaucoup de carquois entre le client et le serveur.

5
00:00:14,168 --> 00:00:17,226
Alors, comment traiter les erreurs quand elles surviennent,

6
00:00:17,226 --> 00:00:21,415
quand nous communiquons entre le client et le serveur ?

7
00:00:21,415 --> 00:00:26,008
Parlons de cela dans cet exercice.

8
00:00:26,008 --> 00:00:29,931
Lorsque le serveur génère une réponse, ou le client HTTP,

9
00:00:29,931 --> 00:00:35,110
tout en communiquant avec le serveur, rencontre une erreur puis génère

10
00:00:35,110 --> 00:00:40,390
une réponse d'erreur, celle-ci est fournie sous la forme d'une réponse d'erreur HTTP.

11
00:00:40,390 --> 00:00:43,760
Maintenant, cette réponse, nous voulons être en mesure de la traiter et

12
00:00:43,760 --> 00:00:48,840
puis la transformer en une chaîne de message de réponse, que

13
00:00:48,840 --> 00:00:54,790
peut être remise au client afin que le client puisse l'afficher à l'écran.

14
00:00:54,790 --> 00:00:56,727
Donc, pour nous permettre de faire cela,

15
00:00:56,727 --> 00:01:02,727
, nous allons créer un nouveau service nommé message HTTP de processus dans ce dossier.

16
00:01:02,727 --> 00:01:08,663
Donc, pour ce faire, à l'invite tapez ng,

17
00:01:08,663 --> 00:01:15,174
g service services/processhttpmsg,

18
00:01:15,174 --> 00:01:22,265
et générer le service processHttpmsg.

19
00:01:22,265 --> 00:01:26,178
Maintenant, une fois le service généré, nous allons aller de l'avant et

20
00:01:26,178 --> 00:01:27,921
l'ajouter dans le module de l'application.

21
00:01:27,921 --> 00:01:36,240
Et puis nous ajouterons une méthode au service processHTTPMsg.

22
00:01:36,240 --> 00:01:40,068
Maintenant que nous avons créé le service processHttpMSG,

23
00:01:40,068 --> 00:01:44,653
allons-y et ajoutez-le dans le fichier app.module.ts.

24
00:01:44,653 --> 00:01:52,993
Donc, en allant dans le fichier app.module.ts,

25
00:01:52,993 --> 00:02:02,353
laissez-moi importer le service processHTTPMSG,

26
00:02:06,191 --> 00:02:15,255
De './services/process-httpmsg.service '.

27
00:02:15,255 --> 00:02:22,945
Donc une fois que ce sera importé, alors nous serons en mesure de l'utiliser dans notre application.

28
00:02:22,945 --> 00:02:26,463
Alors allons-y et ajouterons cela à nos fournisseurs.

29
00:02:26,463 --> 00:02:29,216
Donc, en entrant dans nos fournisseurs,

30
00:02:29,216 --> 00:02:34,952
laissez-moi ajouter dans le processHTTPMSGService dans les fournisseurs.

31
00:02:34,952 --> 00:02:38,429
La première chose que nous allons faire est d'inclure une nouvelle méthode dans

32
00:02:38,429 --> 00:02:41,618
le processHTTPMsgService appelé erreurs de handle,

33
00:02:41,618 --> 00:02:45,105
qui prendra soin de gérer les erreurs quand elles surviennent.

34
00:02:45,105 --> 00:02:51,220
Et puis nous en ferons usage dans les services où nous accédons au serveur.

35
00:02:51,220 --> 00:02:54,546
Pour commencer, nous allons d'abord importer,

36
00:02:57,928 --> 00:03:03,969
ThrowError de, rxjs,

37
00:03:03,969 --> 00:03:09,766
et cela nous aide à lancer des erreurs chaque fois que cela se produit.

38
00:03:12,005 --> 00:03:20,787
Et puis nous importons HttperrorResponse de,

39
00:03:23,316 --> 00:03:28,193
angulaire/common/http.

40
00:03:30,926 --> 00:03:35,632
Ensuite, nous allons commencer à concevoir la méthode HandleError, et

41
00:03:35,632 --> 00:03:41,257
cela prend, comme paramètre, une erreur qui pourrait être une réponse,

42
00:03:41,257 --> 00:03:45,042
qui est une réponse d'erreur du serveur,

43
00:03:45,042 --> 00:03:48,746
ou toute autre raison pour laquelle l'erreur se produit.

44
00:03:48,746 --> 00:03:54,095
Donc, dans cette méthode HandleError, que sommes-nous censés faire ?

45
00:03:54,095 --> 00:04:02,195
Essayons de construire un message qui résume l'erreur.

46
00:04:02,195 --> 00:04:06,389
Nous allons donc inclure une nouvelle variable de chaîne ici.

47
00:04:07,880 --> 00:04:13,080
Si error.error est une instance

48
00:04:13,080 --> 00:04:18,699
d'Errorevent, donc s'il s'agit d'un événement d'erreur qui se produit,

49
00:04:18,699 --> 00:04:24,170
alors error.error.message contiendra des informations.

50
00:04:24,170 --> 00:04:26,695
Nous allons donc définir le message d'erreur sur

51
00:04:26,695 --> 00:04:35,630
error.error.message.

52
00:04:35,630 --> 00:04:42,630
Si ce n'est pas le cas, cela signifie que cela vient du côté serveur,

53
00:04:42,630 --> 00:04:48,500
et donc, dans ce cas, le message d'erreur est construit en disant égal à backguillemets,

54
00:04:48,500 --> 00:04:55,940
notez les backguillemets ici, puis $ {error.status}.

55
00:04:55,940 --> 00:04:59,450
Nous extrayons donc les informations d'état à partir de là.

56
00:04:59,450 --> 00:05:03,956
Et puis, - error.statusText,

57
00:05:03,956 --> 00:05:07,710
si le StatusText existe, ou

58
00:05:07,710 --> 00:05:12,226
qui sera une chaîne vide là.

59
00:05:12,226 --> 00:05:17,691
Et puis nous allons également inclure error.error lui-même,

60
00:05:17,691 --> 00:05:23,866
l'objet d'erreur complet lui-même, juste là dans la chaîne.

61
00:05:23,866 --> 00:05:29,320
Et puis utilisez cela comme message d'erreur.

62
00:05:29,320 --> 00:05:33,484
Maintenant, une fois que nous avons le message d'erreur,

63
00:05:33,484 --> 00:05:38,169
alors nous serons en mesure d'utiliser ThrowError pour

64
00:05:38,169 --> 00:05:43,520
retourner une erreur observable à notre application.

65
00:05:44,940 --> 00:05:48,960
Donc, ce que cela signifie, c'est que cela lance une erreur à ce stade,

66
00:05:48,960 --> 00:05:51,370
avec le message d'erreur inclus.

67
00:05:51,370 --> 00:05:56,549
Donc, cette chaîne de message d'erreur est construite sur la base des informations

68
00:05:56,549 --> 00:06:02,243
que nous obtenons ici, soit parce que le côté serveur a répondu avec une erreur, soit

69
00:06:02,243 --> 00:06:05,111
l'erreur pourrait être d'autres raisons.

70
00:06:05,111 --> 00:06:09,606
Donc, dans les deux cas, nous allons construire un message d'erreur puis le retourner.

71
00:06:09,606 --> 00:06:12,493
Maintenant, où utilisons-nous cette erreur de handle ?

72
00:06:12,493 --> 00:06:17,549
Maintenant, au sein de nos services, par exemple le fichier dishservice.ts,

73
00:06:17,549 --> 00:06:22,866
, nous avons vu que plus tôt quand nous avons dit ce HTTP get, puis nous avons juste dit map,

74
00:06:22,866 --> 00:06:28,020
et ensuite supposé que la réponse est toujours une réponse positive.

75
00:06:28,020 --> 00:06:31,580
Mais supposons que leur réponse n'est pas positive, et

76
00:06:31,580 --> 00:06:37,330
alors il renvoie une erreur, alors nous devons attraper cette erreur.

77
00:06:37,330 --> 00:06:44,180
Pour nous aider avec cela, nous importons l'opérateur CatcherRror de rxjs,

78
00:06:44,180 --> 00:06:50,690
et ensuite nous importons également le processHTTPMSGService

79
00:06:50,690 --> 00:06:56,001
que nous venons de créer plus tôt dans

80
00:06:56,001 --> 00:07:01,860
notre service de vaisselle afin que nous puissions utiliser la méthode d'erreur de handle à partir de là.

81
00:07:01,860 --> 00:07:08,060
Donc, nous importons ceci à partir du./process-httpmsg.service.

82
00:07:08,060 --> 00:07:12,670
Et puis, en descendant vers le constructeur,

83
00:07:12,670 --> 00:07:18,690
nous injectons maintenant le service de message HTTP de processus

84
00:07:18,690 --> 00:07:22,910
dans le constructeur, avec le client HTTP.

85
00:07:22,910 --> 00:07:27,080
Pour que nous puissions utiliser ce service,

86
00:07:27,080 --> 00:07:32,280
en particulier la méthode d'erreur de handle du service pour gérer les erreurs

87
00:07:32,280 --> 00:07:37,710
qui sont renvoyées par notre client HTTP là-bas.

88
00:07:38,930 --> 00:07:43,009
Maintenant, une fois que nous avons configuré le constructeur,

89
00:07:43,009 --> 00:07:46,988
puis pour gérer l'erreur dans la méthode GetDains pour

90
00:07:46,988 --> 00:07:50,980
exemple, nous allons diriger vers la méthode CatcherRors.

91
00:07:50,980 --> 00:07:54,762
Et puis appelez la méthode HandleError après

92
00:07:54,762 --> 00:08:00,446
This.processHttpMsgService dans la méthode CatcherRror.

93
00:08:00,446 --> 00:08:07,817
Donc de cette façon Lorsque le client HTTP renvoie une erreur, cela sera traité et

94
00:08:07,817 --> 00:08:12,875
le message d'erreur approprié sera extrait.

95
00:08:12,875 --> 00:08:16,879
Et puis il finira par lancer l'erreur via

96
00:08:16,879 --> 00:08:20,112
la méthode HandleError à ce stade.

97
00:08:20,112 --> 00:08:24,108
De même, faisons la même chose aux méthodes GetDish et

98
00:08:24,108 --> 00:08:27,710
aux méthodes GetFeatureDish.

99
00:08:27,710 --> 00:08:31,710
Maintenant, quand il s'agit de la méthode getDish ids,

100
00:08:31,710 --> 00:08:36,200
puisque la méthode GetDish ids utilise la méthode GetDish,.

101
00:08:36,200 --> 00:08:40,670
Donc, nous n'avons pas besoin d'appeler explicitement HandleError car si une erreur survient

102
00:08:40,670 --> 00:08:45,560
, la méthode GetDains aura déjà converti cette erreur en une chaîne d'erreur.

103
00:08:45,560 --> 00:08:50,930
Donc, nous avons juste besoin d'attraper l'erreur, puis retourner l'erreur de GetDish Ids.

104
00:08:50,930 --> 00:08:55,020
Normalement, nous n'arriverions même pas à ce point si une erreur se produit, car

105
00:08:55,020 --> 00:09:00,250
la méthode GetDis aurait géré l'erreur correctement à ce stade.

106
00:09:00,250 --> 00:09:06,880
Donc, une fois que nous avons configuré le service plat de manière appropriée,

107
00:09:06,880 --> 00:09:12,600
, alors nous serons en mesure de faire usage de la méthode CatcherRror

108
00:09:12,600 --> 00:09:17,283
pour faire face aux erreurs qui surviennent.

109
00:09:17,283 --> 00:09:23,647
Maintenant que nous avons mis à jour notre service pour être en mesure de traiter les erreurs.

110
00:09:23,647 --> 00:09:27,486
Comment gérons-nous cela dans notre composant eux-mêmes ?

111
00:09:27,486 --> 00:09:31,309
Donc dans un composant, donc par exemple, quand nous allons au composant de menu.

112
00:09:31,309 --> 00:09:34,557
Ce que nous réalisons, c'est que lorsque nous faisons l'abonnement,

113
00:09:34,557 --> 00:09:38,280
, nous nous attendions à ce que les plats nous soient livrés.

114
00:09:38,280 --> 00:09:40,750
Maintenant, il est possible que l'instruction de la vaisselle,

115
00:09:40,750 --> 00:09:44,210
l'erreur soit délivrée par le lancer observable et

116
00:09:44,210 --> 00:09:47,430
alors que le message d'erreur est disponible pour nous.

117
00:09:47,430 --> 00:09:52,540
Donc, pour faire face à cette situation, je vais introduire une nouvelle variable

118
00:09:52,540 --> 00:09:59,088
appelée errMess dans le composant de menu qui est de type chaîne.

119
00:09:59,088 --> 00:10:05,647
Et puis la méthode subscribe elle-même fournit un moyen de gérer les erreurs.

120
00:10:05,647 --> 00:10:12,315
Donc, la méthode subscribe, en ce moment nous avons seulement spécifié une fonction ici.

121
00:10:12,315 --> 00:10:17,142
Nous pouvons également spécifier une seconde fonction qui sera appelée

122
00:10:17,142 --> 00:10:21,020
lorsque l'erreur se produira.

123
00:10:21,020 --> 00:10:26,000
Donc, dans ce cas, je peux fournir une deuxième fonction d'erreur disant,

124
00:10:26,000 --> 00:10:30,460
errMess, qui est la valeur retournée dans

125
00:10:30,460 --> 00:10:35,630
lorsque le lancer observable est fait par le DishService.

126
00:10:35,630 --> 00:10:43,850
Donc, dans ce cas, je dirais this.errmess = <any>errmess, et c'est tout.

127
00:10:43,850 --> 00:10:48,709
Donc, ici, ce qui se passe est que lorsque l'observable

128
00:10:48,709 --> 00:10:53,082
est retourné par le DishService est une valeur,

129
00:10:53,082 --> 00:10:57,707
alors cela serait géré par la première partie.

130
00:10:57,707 --> 00:11:01,434
Si l'observable est renvoyé avec le lancer observable,

131
00:11:01,434 --> 00:11:03,874
alors cette fonction sera exécutée.

132
00:11:03,874 --> 00:11:07,689
Et dans cette fonction, nous prenons le message d'erreur et

133
00:11:07,689 --> 00:11:12,949
puis capturer ce message d'erreur dans cette chaîne ErrMess que nous avons ici.

134
00:11:12,949 --> 00:11:16,776
Donc maintenant nous avons le message d'erreur disponible pour nous, donc

135
00:11:16,776 --> 00:11:21,940
nous pouvons afficher ce message d'erreur sur la vue de ce composant de menu.

136
00:11:21,940 --> 00:11:25,910
Alors, comment affichons-nous cela dans la vue des composants de menu ?

137
00:11:25,910 --> 00:11:33,700
Donc, en allant au fichier de modèle de composants de menu, ici, nous voyons que si la vaisselle n'est pas nulle,

138
00:11:33,700 --> 00:11:39,200
alors nous affichons le menu avec tous les plats.

139
00:11:39,200 --> 00:11:46,550
Si la vaisselle est nulle alors ce spinner est affiché là.

140
00:11:46,550 --> 00:11:50,903
Maintenant, nous allons ajouter en un de plus ici,

141
00:11:50,903 --> 00:11:55,107
même si la errMess que nous avons,

142
00:11:55,107 --> 00:11:59,912
la variable, n'est pas nulle, alors aussi

143
00:11:59,912 --> 00:12:04,866
le spinner devrait être caché et puis,

144
00:12:04,866 --> 00:12:10,300
enfin, ajouter dans un div de plus avec un NGif.

145
00:12:10,300 --> 00:12:15,077
Donc, ce que cela fait est que cette dernière plongée sera affichée dans

146
00:12:15,077 --> 00:12:19,470
cas où il y a une erreur, et le message d'erreur.

147
00:12:19,470 --> 00:12:23,345
La chaîne Errmess est définie sur le message d'erreur.

148
00:12:23,345 --> 00:12:29,648
Donc, dans ce cas, nous allons simplement dire erreur h2,

149
00:12:29,648 --> 00:12:35,962
et ensuite je vais juste afficher cette chaîne comme,

150
00:12:41,159 --> 00:12:46,586
Une chaîne dans la vue là-bas, c'est tout.

151
00:12:46,586 --> 00:12:50,539
Vous pouvez faire une façon plus élaborée d'afficher le message d'erreur si vous le souhaitez

152
00:12:50,539 --> 00:12:51,081
.

153
00:12:51,081 --> 00:12:54,118
Mais tout ce que je vais faire est s'il y a une erreur,

154
00:12:54,118 --> 00:12:58,280
Je vais simplement afficher une erreur sur l'écran et ensuite afficher un ErrMess.

155
00:12:58,280 --> 00:13:04,283
Vous pouvez même le styliser en changeant la couleur en rouge et

156
00:13:04,283 --> 00:13:09,875
ainsi de suite, mais je vais juste le laisser comme ça là.

157
00:13:09,875 --> 00:13:16,477
Donc, avec cela, nous finirons par afficher le message d'erreur dans la vue ici.

158
00:13:16,477 --> 00:13:21,471
La même procédure peut également être utilisée avec le composant plat et

159
00:13:21,471 --> 00:13:26,764
aussi le composant maison où nous accédons au service plat.

160
00:13:26,764 --> 00:13:32,692
Donc, en allant au composant plat, je vais faire exactement la même chose,

161
00:13:32,692 --> 00:13:42,680
donc dans le composant plat, je vais inclure le, Errmess ici.

162
00:13:42,680 --> 00:13:45,654
Et puis juste ici dans le subscribe,

163
00:13:45,654 --> 00:13:49,190
c'est là que nous recevons la valeur du plat.

164
00:13:49,190 --> 00:13:50,260
Donc la première partie,

165
00:13:50,260 --> 00:13:55,770
ce que nous avons déjà inclus sera appelé si l'observable renvoie une valeur.

166
00:13:55,770 --> 00:14:00,770
Mais si elle ne renvoie pas de valeur, alors nous devons traiter le message d'erreur.

167
00:14:00,770 --> 00:14:04,360
Et nous allons utiliser exactement la même fonction de message d'erreur

168
00:14:04,360 --> 00:14:09,620
que nous avons définie plus tôt dans le composant de menu.

169
00:14:09,620 --> 00:14:15,926
Donc, nous dirons que this.errmess

170
00:14:15,926 --> 00:14:20,791
= Ermess ici.

171
00:14:20,791 --> 00:14:26,971
C'est tout, donc mon composant plat est maintenant mis à jour.

172
00:14:26,971 --> 00:14:31,521
J'ai donc besoin de mettre à jour le fichier de modèle du composant plat.

173
00:14:31,521 --> 00:14:34,317
Donc, en allant au fichier template,

174
00:14:34,317 --> 00:14:40,240
nous voyons que nous allons afficher le plat si le plat n'est pas nul.

175
00:14:40,240 --> 00:14:45,034
Et puis en bas ici, nous gérons la situation

176
00:14:45,034 --> 00:14:49,326
où nous montrerons le spinner si le plat est nul.

177
00:14:49,326 --> 00:14:54,826
Alors laissez-moi ajouter aussi, si le message d'erreur n'est pas nul, alors je devrais

178
00:14:54,826 --> 00:15:00,235
afficher un message d'erreur plutôt que le plat ici, non ?

179
00:15:00,235 --> 00:15:03,827
Alors, laissez-moi aller de l'avant et

180
00:15:03,827 --> 00:15:10,075
copier le code du composant de menu.

181
00:15:10,075 --> 00:15:12,790
Je vais utiliser exactement le même code pour

182
00:15:12,790 --> 00:15:16,171
le fichier de modèle de composants de détail plat également.

183
00:15:16,171 --> 00:15:19,435
Alors, juste là.

184
00:15:19,435 --> 00:15:22,823
Laissez-moi aller de l'avant et insérer ce code ici.

185
00:15:22,823 --> 00:15:26,130
Donc, nous voyons que si Errmess n'est pas null,

186
00:15:26,130 --> 00:15:30,838
alors cette erreur sera affichée dans la vue là-bas.

187
00:15:30,838 --> 00:15:31,938
Maintenant, même chose,

188
00:15:31,938 --> 00:15:36,502
en allant à la composante maison, nous devons passer par la même procédure.

189
00:15:36,502 --> 00:15:40,688
Maintenant, dans la composante maison, bien sûr, nous avons plat, promotion et leader.

190
00:15:40,688 --> 00:15:47,625
Donc, je vais définir séparé, Strings pour

191
00:15:47,625 --> 00:15:53,169
chacun d'eux parce que l'erreur pourrait provenir de l'un des trois.

192
00:15:53,169 --> 00:15:57,927
En ce moment, nous avons seulement affaire à des plats qui sont récupérés du côté serveur.

193
00:15:57,927 --> 00:16:04,000
Les deux restants je m'attends à ce que vous le fassiez dans le cadre de la, Affectation finale.

194
00:16:04,000 --> 00:16:10,252
Donc, nous allons, Je vais dire corde errmess plat et ensuite descendre dans le code ici.

195
00:16:10,252 --> 00:16:13,630
Et dans le code ici,

196
00:16:13,630 --> 00:16:18,146
, nous allons simplement dire errmess.

197
00:16:18,146 --> 00:16:23,925
Ce plat errmess = n'importe quelle errmess

198
00:16:23,925 --> 00:16:30,130
, c'est tout.

199
00:16:30,130 --> 00:16:35,036
Et de même, mettez à jour les fichiers de modèle des composants d'origine.

200
00:16:35,036 --> 00:16:40,215
Et en allant au fichier de modèle de composants maison,

201
00:16:40,215 --> 00:16:45,392
nous voyons que nous avons le bac à vaisselle affiché là,

202
00:16:45,392 --> 00:16:50,461
donc maintenant pour celui-ci je devrais dire ou plat Errmess.

203
00:16:50,461 --> 00:16:55,738
Et puis, en bas ici, j'inclurai le code

204
00:16:55,738 --> 00:17:00,648
que j'ai copié à partir du composant de menu, et

205
00:17:00,648 --> 00:17:04,600
puis je le mettrai à jour pour plat Errmess ici.

206
00:17:04,600 --> 00:17:11,957
Et aussi, mettez à jour ceci pour Disherrmess ici, c'est tout.

207
00:17:11,957 --> 00:17:14,113
Sauvegardons les modifications.

208
00:17:14,113 --> 00:17:18,823
En allant dans le navigateur, vous voyez que tout fonctionne comme avant.

209
00:17:18,823 --> 00:17:24,249
La maison, la composante menu et aussi la composante détail du plat sans aucun problème.

210
00:17:24,249 --> 00:17:27,498
Maintenant, la question est : comment pouvons-nous causer des erreurs ?

211
00:17:27,498 --> 00:17:35,566
Pour provoquer des erreurs, une façon possible de traiter le problème est que nous allons et

212
00:17:35,566 --> 00:17:40,961
chercher une information inexistante auprès du serveur.

213
00:17:40,961 --> 00:17:45,865
Laisse-moi aller au service de vaisselle et ensuite causer

214
00:17:45,865 --> 00:17:51,240
mon premier problème dans le DishService ici.

215
00:17:51,240 --> 00:17:55,460
Donc, pour le plat en vedette au lieu de la vaisselle, laissez-moi faire une erreur et

216
00:17:55,460 --> 00:17:59,470
dire dishees puis sauvez le changement.

217
00:17:59,470 --> 00:18:04,160
Évidemment, cela signifie que cette URL n'existe pas.

218
00:18:04,160 --> 00:18:07,482
Alors, que se passera-t-il s'il accède au serveur ?

219
00:18:07,482 --> 00:18:11,514
Aller au navigateur quand nous défilons maintenant,

220
00:18:11,514 --> 00:18:16,504
vous voyez que le plat n'est pas affiché ici.

221
00:18:16,504 --> 00:18:19,570
Il est dit ici Erreur 404 Introuvable.

222
00:18:19,570 --> 00:18:24,170
C'est parce que nous essayons d'accéder aux informations du plat à

223
00:18:24,170 --> 00:18:28,424
l'URL dishees qui n'existe pas du côté du serveur.

224
00:18:28,424 --> 00:18:32,289
Donc, vous voyez comment le message d'erreur est affiché ici.

225
00:18:32,289 --> 00:18:36,172
Bien sûr, vous pouvez être un peu plus fantaisie et faire plus de travail autour de cela et

226
00:18:36,172 --> 00:18:39,460
puis afficher le message d'erreur d'une manière plus significative.

227
00:18:39,460 --> 00:18:44,750
Mais le principe de base est mis en évidence ici en disant que vous

228
00:18:44,750 --> 00:18:50,357
pouvez afficher un message d'erreur si quelque chose n'est pas correctement exécuté

229
00:18:50,357 --> 00:18:56,194
lorsque vous essayez d'accéder aux informations depuis votre serveur.

230
00:18:56,194 --> 00:19:02,373
Bien sûr, c'est donc une erreur créée artificiellement dans mon application.

231
00:19:02,373 --> 00:19:07,020
Pour provoquer encore un autre type d'erreur, je suis allé à ma fenêtre de terminal et

232
00:19:07,020 --> 00:19:12,295
puis arrêtez le serveur pour voir ce que mon application Angular fera dans ce cas.

233
00:19:12,295 --> 00:19:15,267
Donc, après avoir arrêté le serveur,

234
00:19:15,267 --> 00:19:20,330
voyons ce que le composant home affichera dans sa vue.

235
00:19:21,830 --> 00:19:26,620
Donc, en allant au composant home, nous voyons maintenant que parce que mon application Angular

236
00:19:26,620 --> 00:19:31,330
n'est pas capable d'accéder au serveur, elle a provoqué une erreur à nouveau.

237
00:19:31,330 --> 00:19:37,450
Et puis il montre cette chaîne là pour indiquer qu'une erreur s'est produite.

238
00:19:37,450 --> 00:19:40,560
Bien sûr, c'est une chaîne cryptique,

239
00:19:40,560 --> 00:19:45,010
ne transmet rien de significatif sur la source de l'erreur.

240
00:19:45,010 --> 00:19:52,420
Mais c'est tout ce que nous pourrions obtenir en essayant d'accéder au serveur dans cette application.

241
00:19:52,420 --> 00:19:56,260
Même chose, si je vais au menu, vous verrez le même genre de chose étant

242
00:19:56,260 --> 00:19:59,010
affiché, parce que le serveur n'est pas disponible, et donc

243
00:19:59,010 --> 00:20:02,150
les informations de plat ne peuvent pas être récupérées du serveur.

244
00:20:02,150 --> 00:20:05,110
Avec cela, nous terminons cet exercice.

245
00:20:05,110 --> 00:20:07,660
Dans cet exercice, nous avons appris à traiter les erreurs

246
00:20:07,660 --> 00:20:13,040
qui surviennent lors de la communication client serveur dans notre application Angular.

247
00:20:13,040 --> 00:20:18,333
C'est le bon moment pour vous de faire un commit git avec le message http partie deux.

248
00:20:18,333 --> 00:20:24,225
[MUSIQUE]