在有 but 分句的并列句中,常用 but 分句来说明真实情况,而另一个分句用虚拟语气说明本应实现而未实现的假设,其形式是:
(1) subj. + could / should / would + have + v-ed + but + subj. + v-ed(或 have + v-ed)
(2) subj. + could / should / would + have + v + but + subj. + v.(现在时)
We would have avoided making such a mistake, but we didn't follow his sound advice. 我们本来可以避免这样的错误,只是我们没有接受他的忠告。
I would have written before but I have been ill. 我本应早写信,但我一直生病。
I would be most glad to help you , but I'm busy now. 我倒是很乐意帮你的忙,但是我现在太忙了。
(以上摘自赵俊英:《现代英语用法》p.352)
你的句子属于第(1)种情况。