Bonjour
Par commodité, j'ai toujours placé mes try/catch de manière large, c'est à dire:
Et je levais toujours les exceptions sur la méthode Socket.send.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public void send (Socket socket, byte[] buffer,int size) { socket.Send(Byte2.byte_ready(size,buffer)); [...] } [...Autre classe2...] try { send(mySocket, myBuffer) } catch (SocketException E) { [...] }
Le but de faire comme ça de mettre untry qui englobe beaucoup de code (donc d'en mettre moins) et aussi de mettre dans le catch une fonction qui n'est que dans classe2
Cependant, j'ai remarqué que d'autres exception de Socket.Send (certaines le sont) ne sont pas levées, et je suis obligé de faire:
Pourquoi le premier try dans le corps n'intercepte pas toutes les exceptions alors?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public void send (Socket socket, byte[] buffer,int size) { try { socket.Send(Byte2.byte_ready(size,buffer)); } catch (SocketException E) { [...] } } [...Autre classe2...] try { send(mySocket, myBuffer) } catch (SocketException E) { [...] }
Partager