errwrap

package module
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2024 License: MIT Imports: 4 Imported by: 33

README

errwrap Go license codecov PkgGoDev Go version

errwrap 提供了对常用对象需要连续处理 error 的简单封闭。

buf := new(bytes.Buffer)
w := errwrap.Writer{
    Writer: buf,
}

w.WString("string").
    WBytes([]byte("bytes")).
    Printf("format %d", 123)
if w.Err != nil { // 由此处统一处理错误
    // TODO
}

安装

go get github.com/issue9/errwrap

版权

本项目采用 MIT 开源授权许可证,完整的授权说明可在 LICENSE 文件中找到。

Documentation

Overview

Package errwrap 实现对返回 error 方法的二次包装

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Buffer

type Buffer struct {
	bytes.Buffer
	Err error
}

Buffer 提供缓存错误的 bytes.Buffer

func (*Buffer) Print

func (w *Buffer) Print(v ...interface{}) *Buffer

Print 相当于 fmt.Fprint(builder, v...)

func (*Buffer) Printf

func (w *Buffer) Printf(format string, v ...interface{}) *Buffer

Printf 相当于 fmt.Fprintf(builder, format, v...)

func (*Buffer) Println

func (w *Buffer) Println(v ...interface{}) *Buffer

Println 相当于 fmt.Fprintln(builder, v...)

func (*Buffer) Reset added in v0.2.0

func (w *Buffer) Reset() *Buffer

Reset 重置内容

同时也会清除错误标记。

func (*Buffer) WByte

func (w *Buffer) WByte(b byte) *Buffer

WByte 写入单个字节内容

func (*Buffer) WBytes

func (w *Buffer) WBytes(data []byte) *Buffer

WBytes 写入字节内容

func (*Buffer) WRune

func (w *Buffer) WRune(r rune) *Buffer

WRune 写入单个字节内容

func (*Buffer) WRunes

func (w *Buffer) WRunes(rs []rune) *Buffer

WRunes 写入字节内容

func (*Buffer) WString

func (w *Buffer) WString(str string) *Buffer

WString 写入字符串

type StringBuilder

type StringBuilder struct {
	strings.Builder
	Err error
}

StringBuilder 提供缓存错误的 strings.Buffer

func (*StringBuilder) Print

func (builder *StringBuilder) Print(v ...interface{}) *StringBuilder

Print 相当于 fmt.Fprint(builder, v...)

func (*StringBuilder) Printf

func (builder *StringBuilder) Printf(format string, v ...interface{}) *StringBuilder

Printf 相当于 fmt.Fprintf(builder, format, v...)

func (*StringBuilder) Println

func (builder *StringBuilder) Println(v ...interface{}) *StringBuilder

Println 相当于 fmt.Fprintln(builder, v...)

func (*StringBuilder) WByte

func (builder *StringBuilder) WByte(b byte) *StringBuilder

WByte 写入单个字节内容

func (*StringBuilder) WBytes

func (builder *StringBuilder) WBytes(data []byte) *StringBuilder

WBytes 写入字节内容

func (*StringBuilder) WRune

func (builder *StringBuilder) WRune(r rune) *StringBuilder

WRune 写入单个字节内容

func (*StringBuilder) WRunes

func (builder *StringBuilder) WRunes(rs []rune) *StringBuilder

WRunes 写入字节内容

func (*StringBuilder) WString

func (builder *StringBuilder) WString(str string) *StringBuilder

WString 写入字符串

type Writer

type Writer struct {
	io.Writer
	Err error
}

Writer 对 io.WrWriter 的简单封闭

func (*Writer) Print

func (w *Writer) Print(v ...interface{}) *Writer

Print 相当于 fmt.Fprint(builder, v...)

func (*Writer) Printf

func (w *Writer) Printf(format string, v ...interface{}) *Writer

Printf 相当于 fmt.Fprintf(builder, format, v...)

func (*Writer) Println

func (w *Writer) Println(v ...interface{}) *Writer

Println 相当于 fmt.Fprintln(builder, v...)

func (*Writer) WByte

func (w *Writer) WByte(b byte) *Writer

WByte 写入单个字节内容

func (*Writer) WBytes

func (w *Writer) WBytes(data []byte) *Writer

WBytes 写入字节内容

func (*Writer) WRune

func (w *Writer) WRune(r rune) *Writer

WRune 写入单个字节内容

func (*Writer) WRunes

func (w *Writer) WRunes(rs []rune) *Writer

WRunes 写入字节内容

func (*Writer) WString

func (w *Writer) WString(str string) *Writer

WString 写入字符串

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL