יונ.24

StackOverflowException and try/catch

StackOverflowException and try/catch

איך לטפוס שגיאה של StackOverflowException מתוך ה thread ב console application

התוכנית לא תיכנס ל:
try/catch
וגם לא לפונקציה:
CurrentDomain_UnhandledException

כל הפרוצס יפועל!

  1. class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
  6. string errStackOverflowException = "";
  7.  
  8. var thread = new Thread(() =>
  9. {
  10. try
  11. {
  12. F();
  13. }
  14. catch (Exception ex)
  15. {
  16. errStackOverflowException = ex.Message;
  17. }
  18. });
  19.  
  20. thread.Start();
  21. thread.Join();
  22.  
  23. Console.WriteLine(errStackOverflowException);
  24. Console.ReadKey();
  25. }
  26.  
  27. private static void F()
  28. {
  29. F();
  30. }
  31.  
  32. static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
  33. {
  34. if (e.IsTerminating)
  35. Environment.Exit(1);
  36. }


תגיות:
שתף את הסיפור הזה:

תגובות(0)

השאירו תגובה

קפטצ'ה לא מתאימה

תגובה