ExpertiDict

Rust · Essencial · Inglês · Técnico

panic

/ˈpænɪk/substantivo / verbo

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.

Veja também

Todos os termos de Rust