J'ai besoin de traiter un tableau de chaînes contenant des entiers (positifs) en tant que chaînes et la chaîne "POP".Est-ce une bonne pratique d'utiliser RuntimeExceptions pour la gestion des erreurs?
Lorsque Integer, je dois pousser l'entier à une pile d'entiers
Quand « POP », je dois enlever le haut élément le plus. À la fin, je dois retourner l'élément le plus élevé.
Si la pile est vide à n'importe quel moment pendant le traitement des entrées ou à la fin de celle-ci, je dois retourner -1 (erreur). Je n'ai pas besoin de faire autre chose si c'est une erreur.
J'ai mis cela en l'entourant d'un bloc catch try comme ci-dessous:
try {
//logic
}
catch (EmptyStackException) {
return -1;
}
Ma question est, est-il une bonne approche - lancer et attraper RuntimeExceptions dans les scénarios en tant que telle? Si non, quelle est la meilleure pratique?
Si POP et stack.isEmpty() -> renvoient -1 – assylias
@assylias Je comprends votre point. Mais existe-t-il une raison de ne pas utiliser RunTimeException? Par exemple, s'il y a d'autres opérations, par exemple "+" qui ajouterait les deux éléments les plus hauts, ne serait-il pas plus facile d'utiliser l'exception EmptyStackException? – Chillax
si stack.size()> = 2? De manière générale, l'utilisation d'exceptions pour le flux de contrôle n'est pas une bonne pratique. C'est aussi le plus lent. – assylias