StackOverflowException and try/catch
איך לטפוס שגיאה של StackOverflowException מתוך ה thread ב console application
התוכנית לא תיכנס ל:
try/catch
וגם לא לפונקציה:
CurrentDomain_UnhandledException
כל הפרוצס יפועל!
- class Program
- {
- static void Main(string[] args)
- {
- AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
- string errStackOverflowException = "";
- var thread = new Thread(() =>
- {
- try
- {
- F();
- }
- catch (Exception ex)
- {
- errStackOverflowException = ex.Message;
- }
- });
- thread.Start();
- thread.Join();
- Console.WriteLine(errStackOverflowException);
- Console.ReadKey();
- }
- private static void F()
- {
- F();
- }
- static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
- {
- if (e.IsTerminating)
- Environment.Exit(1);
- }