There is a difference in behavior between GetTest1()and GetTest2.
GetTest1()will not throw an exception when calling a method. Instead, it returns Task<string>. An exception will not be selected until this task is expected (we could also choose to check the task to see if it was possible to do this without even throwing an exception).
GetTest2() Task<string>
, , . GetTest(), , , , , Task.FromException, . , - , , , .