| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package ole
- // OleError stores COM errors.
- type OleError struct {
- hr uintptr
- description string
- subError error
- }
- // NewError creates new error with HResult.
- func NewError(hr uintptr) *OleError {
- return &OleError{hr: hr}
- }
- // NewErrorWithDescription creates new COM error with HResult and description.
- func NewErrorWithDescription(hr uintptr, description string) *OleError {
- return &OleError{hr: hr, description: description}
- }
- // NewErrorWithSubError creates new COM error with parent error.
- func NewErrorWithSubError(hr uintptr, description string, err error) *OleError {
- return &OleError{hr: hr, description: description, subError: err}
- }
- // Code is the HResult.
- func (v *OleError) Code() uintptr {
- return uintptr(v.hr)
- }
- // String description, either manually set or format message with error code.
- func (v *OleError) String() string {
- if v.description != "" {
- return errstr(int(v.hr)) + " (" + v.description + ")"
- }
- return errstr(int(v.hr))
- }
- // Error implements error interface.
- func (v *OleError) Error() string {
- return v.String()
- }
- // Description retrieves error summary, if there is one.
- func (v *OleError) Description() string {
- return v.description
- }
- // SubError returns parent error, if there is one.
- func (v *OleError) SubError() error {
- return v.subError
- }
|