PĂąnicos (Panics)
Rust lida com erros fatais com um âpĂąnicoâ.
O Rust irå disparar um panic (pùnico) se um erro fatal ocorrer em tempo de execução:
- PĂąnicos sĂŁo para erros irrecuperĂĄveis e inesperados.
- PĂąnicos sĂŁo sintomas de bugs no programa.
- Falhas em tempo de execução como verificaçÔes de limites falhadas podem disparar um pùnico
- AsserçÔes (como
assert!
) disparam um pĂąnico em caso de falha - PĂąnicos com moticos especĂficos podem usar a macro
panic!
.
- Um pĂąnico irĂĄ âdesenrolarâ a pilha, descartando valores como se as funçÔes tivessem retornado.
- Use APIs que nĂŁo disparam erros do tipo pĂąnico (como
Vec::get
) se nĂŁo for aceitĂĄvel o travamento do programa.
Speaker Notes
This slide should take about 3 minutes.
Por padrão, um pùnico causarå a resolução da pilha. A resolução pode ser capturada:
- Capturar é incomum; não tente implementar exceçÔes com
catch_unwind
! - Isso pode ser Ăștil em servidores que devem continuar rodando mesmo se uma requisição tenha falhado.
- Isso nĂŁo funciona se
panic = 'abort'
estiver definido em seuCargo.toml
.