using System;
using System.Threading.Tasks;
public class Test {
static async Task<String> f(){
throw new Exception("");
}
public static void Main() {
//Resultはスレッドをブロックする
try{ var r = f().Result; }
catch(Exception e){ Console.WriteLine("catch"); }
//ここで例外は起きない
var d = f();
try { var r = d.Result; }
catch(Exception e){ Console.WriteLine("catch"); }
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwogCnB1YmxpYyBjbGFzcyBUZXN0IHsKCXN0YXRpYyBhc3luYyBUYXNrPFN0cmluZz4gZigpewoJCXRocm93IG5ldyBFeGNlcHRpb24oIiIpOwoJfQoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKSB7CgkJLy9SZXN1bHTjga/jgrnjg6zjg4Pjg4njgpLjg5bjg63jg4Pjgq/jgZnjgosKCQl0cnl7IHZhciByID0gZigpLlJlc3VsdDsgfQoJCWNhdGNoKEV4Y2VwdGlvbiBlKXsgQ29uc29sZS5Xcml0ZUxpbmUoImNhdGNoIik7IH0KIAoJCS8v44GT44GT44Gn5L6L5aSW44Gv6LW344GN44Gq44GECgkJdmFyIGQgPSBmKCk7CiAKCQl0cnkgeyB2YXIgciA9IGQuUmVzdWx0OyB9IAoJCWNhdGNoKEV4Y2VwdGlvbiBlKXsgQ29uc29sZS5Xcml0ZUxpbmUoImNhdGNoIik7IH0KCX0KfQo=