Pourquoi lorsqu’on rajoute un try catch en sql on obtient un « 0 row(s) affected » qui peut poser souci en java pour catcher l’erreur.

Avec myBatis, lorsqu’on travaille avec stored procedure avec try catch et que le premier résultat n’est pas une erreur (0 row(s) affected). MyBatis n’arrive pas à attraper l’erreur, dans mon cas il suffit d’ajouter « set nocount on » pour éviter ce problème. Mais je me pose quand même la question d’où vient ce «0 row(s) affected » ?
Voici un exemple :

result
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Msg 8134, Level 16, State 1, Line 1
Divide by zero error encountered.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
--SET NOCOUNT ON 
BEGIN TRY
	SELECT 1/0
END TRY
BEGIN CATCH
	RAISERROR('teqt',16,1)
END CATCH
Result avec l'ajout d'une ligne supplémentaire

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
(0 row(s) affected)
Msg 50000, Level 16, State 1, Line 7
teqt

Merci d’avance