Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Planning Quiz YT - Solidity #36

Open
JennyT3 opened this issue May 20, 2024 · 7 comments
Open

Planning Quiz YT - Solidity #36

JennyT3 opened this issue May 20, 2024 · 7 comments

Comments

@JennyT3
Copy link

JennyT3 commented May 20, 2024

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.

@JennyT3
Copy link
Author

JennyT3 commented May 20, 2024

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.

@JennyT3
Copy link
Author

JennyT3 commented May 20, 2024

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.

@JennyT3
Copy link
Author

JennyT3 commented May 20, 2024

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.

@JennyT3
Copy link
Author

JennyT3 commented May 20, 2024

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.

@JennyT3
Copy link
Author

JennyT3 commented May 20, 2024

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.

@JennyT3
Copy link
Author

JennyT3 commented May 20, 2024

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.

@JennyT3
Copy link
Author

JennyT3 commented May 20, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Info Board
Development

No branches or pull requests

1 participant