Conjuntos de erros inferidos
Deixe Zig reunir seus erros automaticamente.
Conjuntos de erros inferidos é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 4 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.
Listar erros é trabalhoso
Dar um nome a cada erro que uma função pode retornar pode ser trabalhoso, especialmente quando ela chama outras funções que podem falhar. Zig pode inferir o conjunto.
Deixe o conjunto de fora
Escreva apenas !T, sem nada antes do ponto de exclamação. Zig analisa o corpo da função e descobre todos os erros que ela pode produzir.
fn parse(s: []const u8) !u32 {
// ...
}O compilador reúne os erros
Cada try e cada erro retornado dentro do corpo são reunidos automaticamente em um único conjunto de erros inferido para essa função.
if (s.len == 0) return error.Empty;Ele permanece preciso
Adicione mais tarde uma chamada que possa falhar, e o conjunto inferido crescerá para incluí-la. Você nunca se esquece de atualizar uma lista escrita manualmente.
Inferência entre chamadas
Se sua função usar try em outra chamada que possa falhar, os possíveis erros dessa função chamada também serão incorporados ao seu conjunto inferido.
const f = try open(path);Conjuntos explícitos ainda são melhores
Às vezes você quer um contrato público fixo. Dar um nome ao conjunto antes de ! proíbe qualquer erro fora dele, algo que a inferência não faz.
fn load() FileError!Data {}Uma linha de equilíbrio
Conjuntos inferidos são convenientes e se atualizam sozinhos; conjuntos explícitos são precisos e estáveis. Escolha de acordo com a necessidade de manter o contrato inalterado.
Inspecione com @errorReturnTrace
Você ainda pode raciocinar sobre erros em tempo de execução. Nas compilações de depuração, o Zig mantém um rastro de retorno de erro que mostra onde uma falha começou.
Ótimo para auxiliares internos
A inferência se destaca em funções auxiliares privadas, nas quais uma API pública estrita não é necessária. Deixe o Zig cuidar desse controle administrativo.
Ainda totalmente verificado
Inferido ou explícito, todo erro ainda precisa ser tratado pelos chamadores. A inferência economiza digitação, não segurança; o compilador continua estrito.
Um padrão pragmático
Muitas funções do Zig simplesmente usam !T e deixam a inferência trabalhar. Reserve conjuntos nomeados para os limites que você quer fixar.
Verificação rápida
Uma função é declarada com o tipo de retorno !u32 e sem um conjunto de erros antes do ponto de exclamação. O que o Zig faz?
Recapitulação
Você viu conjuntos de erros inferidos por meio de !T sem nome, como eles crescem com o corpo e quando um conjunto explícito é a melhor escolha. ✅
Perguntas Frequentes
A aula “Conjuntos de erros inferidos” é grátis?
Sim — o texto completo de “Conjuntos de erros inferidos” é 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 inferidos”?
Deixe Zig reunir seus erros automaticamente. 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 4 de 4.
Quanto tempo leva a aula “Conjuntos de erros inferidos”?
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