class Foo { public Foo () throws Error { } } Foo? foo () throws Error { return null; } G bar (Foo? foo) { return null; } void main () { try { bar (foo ()); bar (new Foo ()); } catch { } }