typeover
curriculum

Curriculum Errors Error sets exercise 2 · mcq

Error sets

Once you've declared an error set, you raise a value from it with error.<Variant>. Pick the right return statement for a function that hits the empty-input case.

TypeScript reference
Pick the idiomatic Go translation

About this theme

An error set is a finite enumeration of named errors — declared as error{ Empty, BadDigit, ... }. Different APIs declare their own sets; the compiler tracks which errors a function can return as part of the type. error{} is the bottom set (no errors); the inferred set anyerror is the top (matches anything). A function returning ErrSet!T means: either T (success) or one of ErrSet's variants (failure). Composition is via the || operator — ErrA || ErrB makes a set covering both.