单项选择题

只有()才可以免除合同当事人的违约责任。

A.第三方所造成的违约
B.不可抗力
C.无不良后果
D.主观上无过错