Sono curioso, cosa succede realmente all'interno di .NET
, se si è verificata un'eccezione nel metodo finalizzatore durante la procedura di garbage collection. La logica era differente per heap e LOH? Qualcuno potrebbe fornire una descrizione dettagliata?cosa succede in .NET se si è verificata un'eccezione nel metodo finalizzatore (~ Metodo)
5
A
risposta
4
Niente di speciale. Il CLR rileverà l'eccezione e terminerà il programma.
Si noti che l'articolo collegato da @kmatyaszek è grossolanamente obsoleto. La deglutizione delle eccezioni nei finalizzatori e nei thread di lavoro era una funzionalità .NET 1.x che causava molta sofferenza. È piuttosto difficile diagnosticare il motivo per cui un programma smette di comportarsi correttamente quando ciò accade. .NET 2.0 ha messo fine a questo, la politica di default è di terminare sempre il programma. Tecnicamente può essere sostituito da un host CLR personalizzato e dall'elemento <legacyUnhandledExceptionPolicy>
nel file app.exe.config. Non usarlo a meno che non ti piaccia la miseria.
Problemi correlati
- 1. Cosa succede se un finalizzatore rende un oggetto raggiungibile?
- 2. Cosa succede quando si chiama un metodo statico in C#?
- 3. Cosa succede nel linguaggio assembly quando chiamate un metodo/funzione?
- 4. Cosa succede se non si chiama mai Socket.EndConnect?
- 5. Cosa succede dopo che un metodo viene chiamato in Java
- 6. Cosa succede se un metodo genera un'eccezione che non è stata specificata nella dichiarazione del metodo con "getta"
- 7. Cosa succede se voglio memorizzare un valore None nel memcache?
- 8. Comprendere le transazioni Spring - Cosa succede quando un metodo transazionale chiama un altro metodo transazionale?
- 9. Cosa succede se non si ripristina una transazione in Hibernate?
- 10. Cosa succede in BeginProcessRequest()?
- 11. Cosa si può fare nel metodo Task.init() della formica?
- 12. In C#, cosa succede quando si chiama un metodo di estensione su un oggetto nullo?
- 13. Cosa succede se nuovo fallisce?
- 14. Cosa succede sotto il cofano del metodo EF DBContext Add?
- 15. Node.js + Passaporto: cosa succede al 3 ° argomento "informazioni" nel metodo done()?
- 16. Cosa succede se implemento una classe nel file di intestazione?
- 17. Cosa succede se si interrompe un push Git?
- 18. Cosa succede se un oggetto ridimensiona il proprio contenitore?
- 19. Determinare se si è verificata una variazione di giorno
- 20. se il metodo principale completa l'esecuzione, cosa succede a qualsiasi thread di lunga durata?
- 21. Cosa succede se si lancia un'eccezione dall'interno di UncaughtExceptionHandler?
- 22. Cosa succede se si compila un file java vuoto?
- 23. Cosa succede se non implemento Serializable quando si utilizza Hashmap
- 24. Cosa succede se Zookeeper fallisce completamente?
- 25. cosa succede quando si digita un URL nel browser
- 26. Cosa succede se il valore del parametro predefinito è definito nel codice non visibile nel sito di chiamata?
- 27. Cosa succede se JWT viene rubato?
- 28. Cosa significa il metodo `map` in RxJS?
- 29. Cosa succede se I ReleaseMutex() due volte?
- 30. Cosa succede alla classe generica nel servizio web jax-ws?
Controllare questo articolo (sezione: Finalizzatori ed eccezioni): http://msdn.microsoft.com/en-us/library/aa302312.aspx – kmatyaszek
Grazie, lo controllerò e se non ci saranno risposte valide prima , proverò a rispondere a me stesso. – Ph0en1x