using System.Threading.Tasks;
public static void Main()
new AppWithReturn().TestException().Wait();
Console.WriteLine("Task with return:");
new AppWithAwait().TestException().Wait();
Console.WriteLine("Task with await");
public class AppWithAwait {
public async Task TestException() {
public async Task Inner() {
public async Task Inner2() {
throw new Exception("Test");
public class AppWithReturn {
public Task TestException() {
public async Task Inner2() {
throw new Exception("Test");