请教一道非谓语动词方面的英语题

问题描述:

请教一道非谓语动词方面的英语题
原题:
—---twice,he didn't want to try again.
A:to have failed
B:having failed
C;failed
D:having been failed
我不理解为什么不选A
AB我认为都可以表示动作先于谓语发生
TO have done 也可以表示动作先于谓语发生
例如;I am sorry to have kept you waiting.
我很抱歉让你久等了,这个句子也没有表示将来啊

1.having done在这里表原因,有伴随意味.to have done没有这个意义上的用法.
2.I am sorry to have kept you waiting.
be/feel sorry to do sth.固定用法,并非表示to后的动作一定是已完成的或未完成的.
另一方面,这句话能反过来说成 To have kept you waiting,I am sorry吗?
我认为不太好.
应该是Having kept you waiting, I am sorry.