package gcserr

import "github.com/Microsoft/opengcs/service/gcs/gcserr"

Index

Constants

const (
	// HrNotImpl is the HRESULT for a not implemented function.
	HrNotImpl = Hresult(-2147467263) // 0x80004001
	// HrFail is the HRESULT for an invocation failure.
	HrFail = Hresult(-2147467259) // 0x80004005
	// HrErrNotFound is the HRESULT for an invalid process id.
	HrErrNotFound = Hresult(-2147023728) // 0x80070490
	// HvVmcomputeTimeout is the HRESULT for operations that timed out.
	HvVmcomputeTimeout = Hresult(-1070137079) // 0xC0370109
	// HrVmcomputeInvalidJSON is the HRESULT for failing to unmarshal a json
	// string.
	HrVmcomputeInvalidJSON = Hresult(-1070137075) // 0xC037010D
	// HrVmcomputeSystemNotFound is the HRESULT for:
	//
	// A virtual machine or container with the specified identifier does not
	// exist.
	HrVmcomputeSystemNotFound = Hresult(-1070137074) // 0xC037010E
	// HrVmcomputeSystemAlreadyExists is the HRESULT for:
	//
	// A virtual machine or container with the specified identifier already exists.
	HrVmcomputeSystemAlreadyExists = Hresult(-1070137073) // 0xC037010F
	// HrVmcomputeUnsupportedProtocolVersion is the HRESULT for an invalid
	// protocol version range specified at negotiation.
	HrVmcomputeUnsupportedProtocolVersion = Hresult(-1070137076) // 0xC037010C
	// HrVmcomputeUnknownMessage is the HRESULT for unknown message types sent
	// from the HCS.
	HrVmcomputeUnknownMessage = Hresult(-1070137077) // 0xC037010B
)

Functions

func BaseStackTrace

func BaseStackTrace(e error) errors.StackTrace

BaseStackTrace gets the earliest errors.StackTrace in the given error's cause stack. This will be the stack trace which reaches closest to the error's actual origin. It returns nil if no stack trace is found in the cause stack.

func NewHresultError

func NewHresultError(hresult Hresult) error

NewHresultError produces a new error with the given HRESULT.

func WrapHresult

func WrapHresult(e error, hresult Hresult) error

WrapHresult produces a new error with the given HRESULT and wrapping the given error.

Types

type Hresult

type Hresult int32

Hresult is a type corresponding to the HRESULT error type used on Windows.

func GetHresult

func GetHresult(e error) (Hresult, error)

GetHresult interates through the error's cause stack (similiarly to how the Cause function in github.com/pkg/errors operates). At the first error it encounters which implements the Hresult() method, it return's that error's HRESULT. This allows errors higher up in the cause stack to shadow the HRESULTs of errors lower down.

type StackTracer

type StackTracer interface {
	StackTrace() errors.StackTrace
}

StackTracer is an interface originating (but not exported) from the github.com/pkg/errors package. It defines something which can return a stack trace.

Source Files

errors.go

Version
v0.4.0 (latest)
Published
Dec 4, 2020
Platform
linux/amd64
Imports
3 packages
Last checked
3 weeks ago

Tools for package owners.