Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

NullReferenceException σε γραμμή που... δεν θα μπορούσε ποτέ να συμβαίνει!?

Îåêßíçóå áðü ôï ìÝëïò Dimitris Papadimitriou. Τελευταία δημοσίευση από το μέλος object+ στις 17-04-2010, 02:20. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  15-04-2010, 17:31 58119

    NullReferenceException σε γραμμή που... δεν θα μπορούσε ποτέ να συμβαίνει!?

    Είναι πολύ κουφό. Το κοιτάω αρκετή ώρα και δεν καταλαβαίνω. Έχω το παρακάτω Exception:
    System.NullReferenceException: Object reference not set to an instance of an object.
       at MyClass.GetData(Device currentDevice, Teller teller, Decimal amount) in c:\BuildAgent\work\c6b1ccbf440c9709\Core\Server\MyClass.cs:line 613
       at MyClass.Start() in c:\BuildAgent\work\c6b1ccbf440c9709\Core\Server\MyClass.cs:line 678

    Η γραμμή που χτυπάει (γραμμή 613 του MyClass.cs) είναι αυτή:
       var results = this.GetResults(currentDevice, teller);

    Πως στο καλό συμβαίνει αυτό το exception σε αυτή τη γραμμή;!!! εεε;;;!!!
    Όπως φαίνεται και από το exception παραπάνω ο κώδικας τρέχει κάτω από build server (teamcity) στα πλαίσια unit testing με το xunit.net. Επίσης το σφάλμα δεν συμβαίνει πάντα! Συμβαίνει περίπου 1 στις 10 εκτελέσεις.
    Οι συναρτήσεις που φαίνονται στο exception (GetData, Start) δεν είναι static, override ή οτιδήποτε τέτοιο.

    Είμαι σχεδόν σίγουρος ότι κάτι κουφό συμβαίνει κάπου!

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  15-04-2010, 18:18 58120 σε απάντηση της 58119

    Απ: NullReferenceException σε γραμμή που... δεν θα μπορούσε ποτέ να συμβαίνει!?

    Η GetResults τί κάνει Δημήτρη;

    ( σκέφτομαι μήπως κάνει κατιτίς πιο .. native ... και σκάει πιο κάτω απο 'σένα, αλλά με κάποιο μυστήριο τρόπο το πραγματικό exception δε φτάνει ποτέ σε 'σένα και στο stack trace που φαίνεται )

    Angel
    O:]
  •  15-04-2010, 19:44 58123 σε απάντηση της 58119

    Απ: NullReferenceException σε γραμμή που... δεν θα μπορούσε ποτέ να συμβαίνει!?

    Μήπως κάτω από κάποιες προϋποθέσεις κάποιο από τα objects γίνεται null και dispose προτού φτάσει να εκτελεί η GetResuts(); Ένας έλεγχος "If The Else" για το ύποπτο object ίσως φωτίσει περισσότερο το πρόβλημα.
    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
  •  15-04-2010, 20:01 58124 σε απάντηση της 58119

    Απ: NullReferenceException σε γραμμή που... δεν θα μπορούσε ποτέ να συμβαίνει!?

    Επειδή λες ότι δεν συμβαίνει συνέχεια αυτό το λάθος στη θέση σου θα έλεγχα για threading problems.

    Μπορεί κάποιο thread πχ να σκοτώνει το αντικείμενο που εσύ μετά προσπαθείς να κάνεις access και έτσι να πέρνεις null reference exception.

    Δυστυχώς δεν μπορώ να σκεφτώ κάτι περισσίτερο χωρίς να έχω πρόσβαση στο κώδικα.


    MSc Konstantinos Pantos
    MCP Software Engineer
    http://blog.pantos.name
    http://kostas.pantos.name
  •  17-04-2010, 02:20 58140 σε απάντηση της 58119

    Απ: NullReferenceException σε γραμμή που... δεν θα μπορούσε ποτέ να συμβαίνει!?

    To this σου βγαζει null ?? LOL και πως εφτασε εκει? Και παλι lol
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems