Skip to content

Instantly share code, notes, and snippets.

@qszhu
qszhu / week2.md
Created April 25, 2021 06:43
go camp 1
  1. 我们在数据库操作的时候,比如 dao 层中当遇到一个 sql.ErrNoRows 的时候,是否应该 Wrap 这个 error,抛给上层。为什么,应该怎么做请写出代码?

sql.ErrNoRows是一个 sentinel error。 如果不Wrap这个Error,那么这个Error就直接被暴露到了上层。 比如dao层之后换了数据库实现,可能会抛出另一种Error,那么上层调用dao的地方就都需要改动了。

  • 使用 pkg/errors
errors.Wrap(err, "not found")
// ==UserScript==
// @name geekVideoSeek
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://u.geekbang.org/lesson/*
// @grant none
// ==/UserScript==