J'aime beaucoup les outils d'inspection PhpStorm. Ils m'aident beaucoup à rédiger un meilleur code. Maintenant, j'ai la situation suivante et je me demande quelle est la meilleure façon de gérer de telles situations.
J'ai une fonction f avec une condition préalable, par exemple comme dans le code suivant:
/**
* @param int $x
* @throws PreconditionException x is negative
*/
public function f(int $x): int
{
if ($x < 0) {
throw new PreconditionException("the input x is negative");
}
}
Ensuite, j'utilise cette fonction quelque part, ce qui suit:
f(5);
Maintenant, PhpStorm me met en garde avec "Exception non gérée". Mais dans ce cas, je sais que l'exception ne sera pas levée, donc l'ajout d'un bloc try n'a pas vraiment de sens. Devrais-je simplement ignorer cet avertissement ou quel est le meilleur moyen de gérer cela?
La balise @noinspection
peut être utilisée pour indiquer à PhpStorm de supprimer une inspection. La balise peut être utilisée au-dessus de la ligne, de la méthode ou au-dessus du fichier après <?php
Word:
/** @noinspection PhpDocMissingThrowsInspection */
/**
*
* Cancels order.
*
* @return bool
*/
public static function cancel()
{
if (!self::inProgress()) return false;
/** @noinspection PhpUnhandledExceptionInspection*/
static::current()->delete();
return true;
}
La liste des inspections peut être trouvée dans cet Gist: https://Gist.github.com/discordier/ed4b9cba14652e7212f5
Vous pouvez également le désactiver via l'interface. ALT+ENTER puis flèche vers la droite et Suppress ...