Kaynağa Gözat

Print unhandled exception messages to the console

Bepsi 6 yıl önce
ebeveyn
işleme
aee9a60b8a
1 değiştirilmiş dosya ile 14 ekleme ve 1 silme
  1. 14 1
      NTERA.Engine/Runtime/EraRuntime.cs

+ 14 - 1
NTERA.Engine/Runtime/EraRuntime.cs

@@ -30,7 +30,20 @@ namespace NTERA.Engine.Runtime
 			Console.PrintSystemLine("EraJIT x64 0.0.0.0");
 			Console.PrintSystemLine("");
 
-			Call(ExecutionProvider.DefinedProcedures.First(x => x.Name == "SYSTEM_TITLE"));
+			try
+			{
+				Call(ExecutionProvider.DefinedProcedures.First(x => x.Name == "SYSTEM_TITLE"));
+			}
+			catch (Exception ex)
+			{
+				Console.PrintSystemLine($"Unhandled exception: {ex.Message}");
+				Console.PrintSystemLine("Stack trace:");
+
+				foreach (var stackMember in ExecutionStack)
+					Console.PrintSystemLine($"  - @{stackMember.SelfDefinition.Name} ({stackMember.SelfDefinition.Position} > {stackMember.SelfDefinition.Filename})");
+
+				throw;
+			}
 
 			System.Threading.Thread.Sleep(-1);
 		}