<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.quizz.vn/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.quizz.vn/feed.php">
        <title>Wiki.Quizz.vn - go:errors</title>
        <description></description>
        <link>https://wiki.quizz.vn/</link>
        <image rdf:resource="https://wiki.quizz.vn/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-15T18:03:05+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.quizz.vn/doku.php?id=go:errors:custom_errors&amp;rev=1767654875&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.quizz.vn/doku.php?id=go:errors:error_interface&amp;rev=1767654750&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.quizz.vn/doku.php?id=go:errors:error_wrapping&amp;rev=1767655352&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.quizz.vn/doku.php?id=go:errors:sentinel_errors&amp;rev=1767654960&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.quizz.vn/doku.php?id=go:errors:start&amp;rev=1767654688&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.quizz.vn/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Wiki.Quizz.vn</title>
        <link>https://wiki.quizz.vn/</link>
        <url>https://wiki.quizz.vn/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.quizz.vn/doku.php?id=go:errors:custom_errors&amp;rev=1767654875&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-05T23:14:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>custom_errors</title>
        <link>https://wiki.quizz.vn/doku.php?id=go:errors:custom_errors&amp;rev=1767654875&amp;do=diff</link>
        <description>Custom errors

What is it?

A custom error is your own error type (usually a struct) that implements `Error() string`.
It may include extra fields (code, operation, resource ID, etc.).

What is it used for?

	*  Return structured error details.
	*  Enable typed checks with `errors.As`.</description>
    </item>
    <item rdf:about="https://wiki.quizz.vn/doku.php?id=go:errors:error_interface&amp;rev=1767654750&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-05T23:12:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>error_interface</title>
        <link>https://wiki.quizz.vn/doku.php?id=go:errors:error_interface&amp;rev=1767654750&amp;do=diff</link>
        <description>error interface

What is it?

`error` is a built-in interface type in Go:


type error interface {
    Error() string
}


Any type that implements `Error() string` can be used as an error.

What is it used for?

	*  Standardize how functions return failure information.</description>
    </item>
    <item rdf:about="https://wiki.quizz.vn/doku.php?id=go:errors:error_wrapping&amp;rev=1767655352&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-05T23:22:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>error_wrapping</title>
        <link>https://wiki.quizz.vn/doku.php?id=go:errors:error_wrapping&amp;rev=1767655352&amp;do=diff</link>
        <description>Error wrapping (%w)

What is it?

Error wrapping means adding context to an error while keeping the original error inside it.

In Go, `fmt.Errorf` supports wrapping using `%w`:


fmt.Errorf(&quot;doing X: %w&quot;, err)


What is it used for?

	*  Add helpful context at each layer (repo → usecase → handler).</description>
    </item>
    <item rdf:about="https://wiki.quizz.vn/doku.php?id=go:errors:sentinel_errors&amp;rev=1767654960&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-05T23:16:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sentinel_errors</title>
        <link>https://wiki.quizz.vn/doku.php?id=go:errors:sentinel_errors&amp;rev=1767654960&amp;do=diff</link>
        <description>Sentinel errors

What is it?

A sentinel error is a package-level variable used as a fixed, recognizable error value.

Example:


var ErrNotFound = errors.New(&quot;not found&quot;)


What is it used for?

	*  Let callers check for a specific error using equality (`err == ErrNotFound`)</description>
    </item>
    <item rdf:about="https://wiki.quizz.vn/doku.php?id=go:errors:start&amp;rev=1767654688&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-01-05T23:11:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>start</title>
        <link>https://wiki.quizz.vn/doku.php?id=go:errors:start&amp;rev=1767654688&amp;do=diff</link>
        <description>Error Handling

What is it?

In Go, errors are values returned from functions.
The common pattern is: return `(result, error)` and check `if err != nil`.

What is it used for?

	*  Report failures without exceptions.
	*  Keep control flow explicit.
	*</description>
    </item>
</rdf:RDF>
