Conjuntos de erros e a união !T
Trate erros como valores de primeira classe.
Conjuntos de erros e a união !T é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Zig Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Zig Academy inclui 4 aulas no total.
Erros são valores
Em Zig não há exceções. Um erro é apenas um valor comum que sua função pode retornar, portanto a falha fica visível no código.
Declare um conjunto de erros
Um conjunto de erros é um grupo nomeado de erros possíveis. Você lista as variantes de forma semelhante a um enum de coisas que podem dar errado.
const FileError = error{
NotFound,
PermissionDenied,
};Faça referência a um erro
Cada membro de um conjunto de erros é acessado com um ponto. O valor FileError.NotFound é um erro concreto que você pode retornar.
return FileError.NotFound;Conjuntos de erros anônimos
Você nem sempre precisa de um nome. Escrever error{Empty} inline cria um pequeno conjunto de erros específico no local em que é usado.
return error.Empty;O ponto de exclamação indica um possível erro
O ! em um tipo cria uma união de erros. O tipo que vem antes dele é o valor de sucesso; um erro pode aparecer em seu lugar.
FileError!u32Leia !T em voz alta
Você pode ler !u32 como um u32 ou um erro. O valor único contém os dois resultados possíveis, portanto quem chama precisa escolher um deles.
Dois lados da união
Uma união de erros tem exatamente duas formas em tempo de execução: um conteúdo válido do tipo T ou um dos erros do conjunto. Nunca os dois.
Defina antes do ponto de exclamação
Coloque o conjunto de erros à esquerda de ! para indicar exatamente quais erros são permitidos. Isso documenta a falha diretamente no tipo.
fn parse(s: []const u8) FileError!u32 {
// ...
}Combine conjuntos de erros
O operador || aplicado a dois conjuntos de erros os combina em um só. Assim, uma função pode aceitar de uma vez erros de várias fontes.
const AllError = FileError || NetError;anyerror é o conjunto abrangente
O tipo integrado anyerror contém todos os erros possíveis. Ele é conveniente, mas perde a precisão de um conjunto nomeado; use-o com moderação.
fn risky() anyerror!void {}Por que os conjuntos ajudam
Como os erros fazem parte do tipo, o compilador conhece todas as falhas que uma função pode produzir. Nada passa despercebido e fica sem tratamento.
Verificação rápida
Você vê o tipo FileError!u32 em uma função. O que ele descreve?
Recapitulação
Você conheceu conjuntos de erros, a união !T, a combinação de conjuntos com || e anyerror. Os erros são valores comuns que o sistema de tipos acompanha para você. ✅
Perguntas Frequentes
A aula “Conjuntos de erros e a união !T” é grátis?
Sim — o texto completo de “Conjuntos de erros e a união !T” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Zig Academy, atualize para CoddyKit PRO. O curso de Zig Academy inclui 4 aulas no total.
O que vou aprender em “Conjuntos de erros e a união !T”?
Trate erros como valores de primeira classe. Você pratica Zig Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Zig Academy?
Nenhuma experiência prévia é necessária. Zig Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Conjuntos de erros e a união !T”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Zig Academy?
Sim. Cada aula de Zig Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Conjuntos de erros e a união !T
- Retornando erros de funções
- Propagando falhas com try
- Conjuntos de erros inferidos