Rust · Essencial · Inglês · Técnico
panic
Falha irrecuperável que interrompe a thread atual, liberando seus valores e exibindo uma mensagem. É disparada por panic!, por unwrap em None, índice fora do limite ou divisão por zero.
Onde usar
Reservado para bugs e estados impossíveis; erros esperados usam Result. Em servidores, um panic numa thread pode ser contido ou derrubar o processo, conforme a configuração.
Em código
fn divide(a: i32, b: i32) -> i32 {
if b == 0 {
panic!("divisão por zero");
}
a / b
}Exemplos
It panicked on an out-of-bounds index.
Deu panic em um índice fora dos limites.
Return an error instead of panicking here.
Devolva um erro em vez de dar panic aqui.
Cuidado
Não é uma exceção para controlar fluxo: o catch_unwind existe, mas não é o jeito normal de tratar erros.