Non, ce que vous demandez n'est pas possible en C#.
Au lieu de cela, la solution appropriée à ce problème consiste à utiliser de meilleures méthodes d'analyse qui ne lèveront pas d'exceptions en premier lieu. Si vos valeurs d'entrée peuvent être nulles, utilisez des méthodes d'analyse qui peuvent accepter des valeurs nulles.
La première chose que vous devez probablement faire est d'utiliser des types nullables pour vos champs int/bool, afin de pouvoir prendre en charge les valeurs null. Ensuite, vous devrez créer vos propres méthodes pour analyser vos ints/bools. Si votre entrée est nulle, retournez null, sinon, utilisez int.TryParse
, bool.TryParse
(ou as
pour chacun si votre entrée est le bon type, il suffit de convertir en object
).
Ensuite, en utilisant ces méthodes, au lieu de Convert
, vous ne lancerez pas d'exceptions en premier lieu (ce que vous ne devriez pas faire ici même si cela pourrait fonctionner, car les exceptions sont destinées à des cas exceptionnels, et non au flux de contrôle attendu).