Exemple #1
0
 public static async Task PrintStackTrace(this StackTracesOhMy runnable, Func <Task> function)
 {
     try
     {
         await function();
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.StackTrace);
     }
 }
Exemple #2
0
    public static void Explain(this StackTracesOhMy runnable, TextWriter writer)
    {
        writer.WriteLine(@"
- With .NET Core 2.1 and later finally readable stack traces
```
   at StackTracesOhMy.Level6() in C:\p\Async.Netcore\StackTracesOhMy.cs:line 19
   at StackTracesOhMyExtensions.Level5(StackTracesOhMy runnable) in C:\p\Async.Netcore\StackTracesOhMyExtensions.cs:line 41
   at StackTracesOhMyExtensions.Level4(StackTracesOhMy runnable) in C:\p\Async.Netcore\StackTracesOhMyExtensions.cs:line 36
   at StackTracesOhMyExtensions.Level3(StackTracesOhMy runnable) in C:\p\Async.Netcore\StackTracesOhMyExtensions.cs:line 31
   at StackTracesOhMyExtensions.Level2(StackTracesOhMy runnable) in C:\p\Async.Netcore\StackTracesOhMyExtensions.cs:line 26
   at StackTracesOhMyExtensions.Level2to6(StackTracesOhMy runnable) in C:\p\Async.Netcore\StackTracesOhMyExtensions.cs:line 21
```
");
    }
    public static void Explain(this StackTracesOhMy runnable, TextWriter writer)
    {
        writer.WriteLine(@"
- With .NET Core 2.1 finally readable stack traces
```
   at StackTracesOhMy.Level6() in C:\p\Await.HeadExplosion\Presentation\StackTracesOhMy.cs:line 20
   ...
   at StackTracesOhMyExtensions.Level2to6() in C:\p\Await.HeadExplosion\Presentation\StackTracesOhMyExtensions.cs:line 21
   at StackTracesOhMy.Level1() in C:\p\Await.HeadExplosion\Presentation\StackTracesOhMy.cs:line 14
   at StackTracesOhMy.Run() in C:\p\Await.HeadExplosion\Presentation\StackTracesOhMy.cs:line 9
   at StackTracesOhMyExtensions.PrintStackTrace() in C:\p\Await.HeadExplosion\Presentation\StackTracesOhMyExtensions.cs:line 11
```
");
    }
Exemple #4
0
 static async Task Level5(StackTracesOhMy runnable)
 {
     await runnable.Level6();
 }
Exemple #5
0
 static async Task Level4(StackTracesOhMy runnable)
 {
     await Level5(runnable);
 }
Exemple #6
0
 public static async Task Level2to6(this StackTracesOhMy runnable)
 {
     await Level2(runnable);
 }
 private static async Task Level3(StackTracesOhMy runnable)
 {
     await Level4(runnable);
 }