Bonjour à toutes et à tous.

Je dois avouer que je galère complètement au niveau des exceptions en PL/SQL.

1. Quand dois-je en lever une ? Seulement lors d'une erreur SQL ? Si je crée tout un panel de fonctions booleennes qui testent differentes choses sur plusieurs infos, dois-je créer des exceptions pour chaque retour FALSE ?

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
vCrFonction1 := MaFonction1(MonParam1, MonParam2);
IF(vCrFonction1 = FALSE)
    RAISE ErrFonction1;
END IF;
 
vCrFonction2 := MaFonction2(MonParam3, MonParam4);
IF(vCrFonction2 = FALSE)
    RAISE ErrFonction2;
END IF;
2. Si j'ai une fonction qui retourne un booleen et que j'ai n exceptions qui doivent toutes me retourner FALSE mais agissent différemment par exemple au niveau log, est-il possible de factoriser la ligne RETURN FALSE pour toutes les exceptions ?

3. Comment utiliser WHEN OTHERS ? Comme une sortie d'erreur clef en main d'une fonction ? Genre "s'il y a la moindre exception SQL, quelqu'elle soit, alors je retourne FALSE".

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
WHEN OTHERS
    THEN
        RETURN FALSE;
Sorry, j'ai un peu de mal là

Bahan