Open JennyT3 opened 1 month ago
2. Qual é a principal razão para usar revert
em contratos inteligentes?
a) Para interromper a execução do contrato e lançar um erro personalizado. b) Para forçar uma exceção não tratada e encerrar o contrato abruptamente. c) Para notificar o usuário sobre erros de execução do contrato.
Resposta correta: a) Para interromper a execução do contrato e lançar um erro personalizado.
3. Quando você pode utilizar require
em vez de revert
em Solidity?
a) Quando você quer retornar um valor específico ao invés de lançar uma exceção. b) Quando você quer apenas registrar um aviso no console, mas continuar a execução. c) Quando você quer impor condições para a execução de uma função e reverter se essas condições não forem atendidas.
Resposta correta: c) Quando você quer impor condições para a execução de uma função e reverter se essas condições não forem atendidas.
4. O que o modificador required
faz em Solidity?
a) Ele verifica se uma variável foi inicializada corretamente antes de permitir a execução de uma função.
b) Ele define um requisito que deve ser cumprido para que a função seja executada com sucesso.
c) Ele reverte a execução de uma função se uma condição específica não for atendida.
Resposta correta: b) Ele define um requisito que deve ser cumprido para que a função seja executada com sucesso.
5. Qual é a diferença principal entre required
e assert
em Solidity?
a) required
é usado para verificar condições de entrada em uma função, enquanto assert
é usado para verificar invariantes internas do contrato.
b) required
é usado para interromper a execução de uma função se uma condição não for atendida, enquanto assert
é usado para validar expressões internas do contrato.
c) required
e assert
são sinônimos em Solidity e podem ser usados de forma intercambiável.
Resposta correta: a) required
é usado para verificar condições de entrada em uma função, enquanto assert
é usado para verificar invariantes internas do contrato.
6. Quando é mais apropriado usar required
em vez de revert
em Solidity?
a) Quando a verificação é sobre condições externas, como entradas de usuário.
b) Quando a validação está relacionada a invariantes internos do contrato.
c) Não há diferença significativa entre eles em termos de uso apropriado.
Resposta correta: a) Quando a verificação é sobre condições externas, como entradas de usuário.
7. Como o bloco de código a seguir, em Solidity, trata a validação de um índice de um array? Copy if (index >= mensagens.length) revert ERRORInvalidIndex(index); a) Reverte a execução do contrato se o índice fornecido for maior ou igual ao comprimento do array, lançando uma exceção com uma mensagem de erro personalizada. b) Ignora a condição do índice e continua a execução do contrato normalmente, independentemente do valor fornecido. c) Retorna um aviso no console se o índice estiver fora dos limites do array, mas não reverte a execução do contrato.
Resposta correta: a) Reverte a execução do contrato se o índice fornecido for maior ou igual ao comprimento do array, lançando uma exceção com uma mensagem de erro personalizada.
8. Como o bloco de código a seguir, em Solidity, trata a validação de um índice de um array? Copy require(index <= mensagens.length, "INDEX INVALID"); a) Interrompe a execução do contrato se o índice fornecido for maior do que o comprimento do array, lançando uma exceção com a mensagem "INDEX INVALID". b) Continua a execução do contrato mesmo se o índice estiver fora dos limites do array, mas imprime um aviso no console. c) Retorna um valor booleano indicando se o índice fornecido é válido ou não, sem interromper a execução do contrato.
Resposta correta: a) Interrompe a execução do contrato se o índice fornecido for maior do que o comprimento do array, lançando uma exceção com a mensagem "INDEX INVALID".
https://valter-lobo.gitbook.io/fase-1-solidity-basico/v/material-encontro-4/quiz-required-and-revert
Solidity
1. Em Solidity, o que acontece quando uma função marca explicitamente um erro com
revert
?a) A execução da função continua normalmente, mas um aviso é gerado no console. b) A execução da função é revertida imediatamente e todas as alterações de estado são desfeitas. c) A função retorna um valor de erro que pode ser tratado pelo contrato chamador.
Resposta correta: b) A execução da função é revertida imediatamente e todas as alterações de estado são desfeitas.