Doesn't Win32::OLE->LastError do what you need?
HTH - Mark
In reply to Re: Trapping errors with Win32::OLE by maa in thread Trapping errors with Win32::OLE by cr_ashok