If you could retry it, then obviously the error was transient. I don't know what the issue is with me describing it that way.
But you generally won't have to write retry logic if you have the file open in only one place. The other issues that can arise, like constraint violations or no space left on disk, usually aren't transient and thus can't be fixed with retry anyway.
They don't cause "transient errors", they cause transaction failures, which you should be handling by retrying the transaction anyway.