當前位置: 首頁>>代碼示例>>Golang>>正文


Golang errors.SingleError函數代碼示例

本文整理匯總了Golang中github.com/luci/luci-go/common/errors.SingleError函數的典型用法代碼示例。如果您正苦於以下問題:Golang SingleError函數的具體用法?Golang SingleError怎麽用?Golang SingleError使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了SingleError函數的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: TestBrokenFeatures

func TestBrokenFeatures(t *testing.T) {
	t.Parallel()

	e := errors.New("default err")

	Convey("BrokenFeatures", t, func() {
		c := memory.Use(context.Background())

		Convey("Can break ds", func() {
			Convey("without a default", func() {
				c, bf := FilterRDS(c, nil)
				ds := datastore.Get(c)
				vals := []datastore.PropertyMap{{
					"$key": {datastore.MkPropertyNI(ds.NewKey("Wut", "", 1, nil))},
				}}

				Convey("by specifying an error", func() {
					bf.BreakFeatures(e, "GetMulti", "PutMulti")
					So(ds.GetMulti(vals), ShouldEqual, e)

					Convey("and you can unbreak them as well", func() {
						bf.UnbreakFeatures("GetMulti")

						So(errors.SingleError(ds.GetMulti(vals)), ShouldEqual, datastore.ErrNoSuchEntity)

						Convey("no broken features at all is a shortcut", func() {
							bf.UnbreakFeatures("PutMulti")
							So(errors.SingleError(ds.GetMulti(vals)), ShouldEqual, datastore.ErrNoSuchEntity)
						})
					})
				})

				Convey("Not specifying an error gets you a generic error", func() {
					bf.BreakFeatures(nil, "GetMulti")
					So(ds.GetMulti(vals).Error(), ShouldContainSubstring, `feature "GetMulti" is broken`)
				})
			})

			Convey("with a default", func() {
				c, bf := FilterRDS(c, e)
				ds := datastore.Get(c)
				vals := []datastore.PropertyMap{{
					"$key": {datastore.MkPropertyNI(ds.NewKey("Wut", "", 1, nil))},
				}}
				bf.BreakFeatures(nil, "GetMulti")
				So(ds.GetMulti(vals), ShouldEqual, e)
			})
		})
	})
}
開發者ID:nishanths,項目名稱:gae,代碼行數:50,代碼來源:featurebreaker_test.go

示例2: Delete

func (d *datastoreImpl) Delete(key Key) (err error) {
	return errors.SingleError(d.DeleteMulti([]Key{key}))
}
開發者ID:martiniss,項目名稱:gae,代碼行數:3,代碼來源:datastore.go

示例3: Put

func (d *datastoreImpl) Put(src interface{}) (err error) {
	if !isOkType(reflect.TypeOf(src)) {
		return fmt.Errorf("invalid Put input type: %T", src)
	}
	return errors.SingleError(d.PutMulti([]interface{}{src}))
}
開發者ID:martiniss,項目名稱:gae,代碼行數:6,代碼來源:datastore.go

示例4: Get

func (d *datastoreImpl) Get(dst interface{}) (err error) {
	if !isOkType(reflect.TypeOf(dst)) {
		return fmt.Errorf("invalid Get input type: %T", dst)
	}
	return errors.SingleError(d.GetMulti([]interface{}{dst}))
}
開發者ID:martiniss,項目名稱:gae,代碼行數:6,代碼來源:datastore.go

示例5: Delete

func (t *taskqueueImpl) Delete(task *Task, queueName string) error {
	return errors.SingleError(t.DeleteMulti([]*Task{task}, queueName))
}
開發者ID:martiniss,項目名稱:gae,代碼行數:3,代碼來源:taskqueue.go

示例6: Add

func (t *taskqueueImpl) Add(task *Task, queueName string) error {
	return errors.SingleError(t.AddMulti([]*Task{task}, queueName))
}
開發者ID:martiniss,項目名稱:gae,代碼行數:3,代碼來源:taskqueue.go

示例7: CompareAndSwap

func (m *memcacheImpl) CompareAndSwap(item Item) error {
	return errors.SingleError(m.CompareAndSwapMulti([]Item{item}))
}
開發者ID:martiniss,項目名稱:gae,代碼行數:3,代碼來源:memcache.go

示例8: Get

func (m *memcacheImpl) Get(item Item) error {
	return errors.SingleError(m.GetMulti([]Item{item}))
}
開發者ID:martiniss,項目名稱:gae,代碼行數:3,代碼來源:memcache.go

示例9: Delete

func (m *memcacheImpl) Delete(key string) error {
	return errors.SingleError(m.DeleteMulti([]string{key}))
}
開發者ID:martiniss,項目名稱:gae,代碼行數:3,代碼來源:memcache.go

示例10: Add

func (m *memcacheImpl) Add(item Item) error {
	return errors.SingleError(m.AddMulti([]Item{item}))
}
開發者ID:martiniss,項目名稱:gae,代碼行數:3,代碼來源:memcache.go

示例11: Put

func (d *datastoreImpl) Put(src interface{}) (err error) {
	if err := isOkType(reflect.TypeOf(src)); err != nil {
		panic(fmt.Errorf("invalid Put input type (%T): %s", src, err))
	}
	return errors.SingleError(d.PutMulti([]interface{}{src}))
}
開發者ID:nishanths,項目名稱:gae,代碼行數:6,代碼來源:datastore.go

示例12: Get

func (d *datastoreImpl) Get(dst interface{}) (err error) {
	if err := isOkType(reflect.TypeOf(dst)); err != nil {
		panic(fmt.Errorf("invalid Get input type (%T): %s", dst, err))
	}
	return errors.SingleError(d.GetMulti([]interface{}{dst}))
}
開發者ID:nishanths,項目名稱:gae,代碼行數:6,代碼來源:datastore.go

示例13: Exists

func (d *datastoreImpl) Exists(k *Key) (bool, error) {
	ret, err := d.ExistsMulti([]*Key{k})
	return ret[0], errors.SingleError(err)
}
開發者ID:nishanths,項目名稱:gae,代碼行數:4,代碼來源:datastore.go

示例14: Get

func (m *memcacheImpl) Get(key string) (Item, error) {
	ret := m.NewItem(key)
	err := errors.SingleError(m.GetMulti([]Item{ret}))
	return ret, err
}
開發者ID:nishanths,項目名稱:gae,代碼行數:5,代碼來源:memcache.go


注:本文中的github.com/luci/luci-go/common/errors.SingleError函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。