0Pricing
Zig Academy · Aula

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!u32

Leia !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

  1. Conjuntos de erros e a união !T
  2. Retornando erros de funções
  3. Propagando falhas com try
  4. Conjuntos de erros inferidos
← Voltar para Zig Academy