Nous lançons un système et nous recevons parfois la fameuse exception NullReferenceException
avec le message Object reference not set to an instance of an object
.
Cependant, dans une méthode où nous avons presque 20 objets, le fait d'avoir un journal indiquant qu'un objet est nul est vraiment inutile. C'est comme vous dire, lorsque vous êtes l'agent de sécurité d'un séminaire, qu'un homme sur 100 participants est un terroriste. C'est vraiment d'aucune utilité pour vous. Vous devriez obtenir plus d'informations si vous voulez détecter quel homme est l'homme menaçant.
De même, si nous voulons supprimer le bogue, nous devons savoir quel objet est null.
Maintenant, quelque chose a obsédé mon esprit pendant plusieurs mois, à savoir:
Pourquoi .NET ne nous donne-t-il pas le nom, ou du moins le type de la référence d'objet, qui est null? . Ne peut-il pas comprendre le type de réflexion ou de toute autre source?
En outre, quelles sont les meilleures pratiques pour comprendre quel objet est nul? Devrions-nous toujours tester manuellement la nullité des objets dans ces contextes et enregistrer le résultat? Y a-t-il un meilleur moyen?
Mise à jour:
l'exception The system cannot find the file specified
a la même nature. Vous ne pouvez pas trouver quel fichier, tant que vous n'avez pas joint le processus et débogué. Je suppose que ces types d'exceptions peuvent devenir plus intelligents. Ne serait-il pas préférable que .NET puisse nous dire c:\temp.txt doesn't exist.
au lieu de ce message général? En tant que développeur, je vote oui.
new
pour créer des instances d'une classe. Quand un tel indice aide-t-il vraiment?