NEW
Font size
WorksheetsPOO - Revisão Prova III
Total questions: 25
Worksheet time: 13mins
O que caracteriza uma exceção em C#?
Um erro em tempo de compilação
Um erro sintático
Um erro em tempo de execução que interrompe o fluxo normal do programa
Um alerta gerado pelo IDE
Qual das opções abaixo representa uma exceção comum em C# ao tentar acessar um índice inválido de um array?
FileNotFoundException
NullReferenceException
FormatException
IndexOutOfRangeException
Sobre o bloco `catch` em C#, é correto afirmar que:
Ele é obrigatório em toda estrutura try
Ele só pode existir um por estrutura try
Ele trata exceções e deve ser escrito do mais genérico para o mais específico
Ele pode ter múltiplas instâncias, escritas do mais específico para o mais genérico
Em relação ao polimorfismo dinâmico, qual palavra-chave deve ser usada para permitir a sobrescrita de métodos na classe derivada?
abstract
sealed
override
virtual
Qual das seguintes exceções ocorre ao tentar dividir um número por zero?
OverflowException
ArithmeticException
DivideByZeroException
IndexOutOfRangeException
O que define uma classe como abstrata?
Não pode conter construtores
Pode ser instanciada diretamente
Pode conter métodos implementados e não implementados
Deve conter somente métodos abstratos
No tratamento de exceções em C#, o bloco `finally`:
É executado apenas quando não ocorre erro
Quando definido, sempre é executado. Aconteça ou não uma exceção.
O que é necessário para que o CLR determine em tempo de execução qual método deve ser executado no polimorfismo dinâmico?
O uso da palavra-chave sealed
O uso da palavra-chave virtual na base e override na derivada
A utilização de classes genéricas
O uso de atributos estáticos
Quando ocorre uma `NullReferenceException`?
Ao acessar um arquivo inexistente
Ao tentar acessar membro de um objeto nulo
Ao fazer uma conversão de tipo inválida
Ao realizar uma operação aritmética com valores negativos
Qual é uma boa prática ao utilizar polimorfismo dinâmico?
Implementar todos os métodos como estáticos
Evitar o uso de interfaces
Utilizar classes abstratas para representar comportamentos genéricos
Substituir todos os métodos com sealed
Qual é a classe base mais genérica para exceções no C#?
Error
Exception
Throwable
BaseException
O que acontece se uma exceção não for capturada por nenhum `catch`?
O código continua normalmente
A exceção é ignorada
O CLR captura a exceção e pode encerrar o programa
O bloco finally não é executado
Sobre a utilização de interfaces, é correto afirmar que:
Interfaces não podem ser implementadas por classes abstratas
Interfaces são utilizadas apenas para herança múltipla
Interfaces definem métodos com implementação
Interfaces funcionam como contratos a serem implementados
Qual palavra-chave torna obrigatória a implementação de um método nas subclasses?
abstract
A exceção `FormatException` ocorre quando:
Um índice de array está fora do intervalo
Um objeto é nulo
Há uma falha na conversão de tipos
Um arquivo está corrompido
Exceções em C# são objetos que representam erros durante a execução do programa.
Verdadeiro
Falso
O bloco `try` em C# é opcional e pode ser omitido se houver um `catch`.
Verdadeiro
Falso
O polimorfismo dinâmico permite que métodos com o mesmo nome tenham diferentes assinaturas.
Verdadeiro
Falso
O método `override` é usado para substituir um método virtual definido em uma classe base.
Verdadeiro
Falso
`System.IndexOutOfRangeException` ocorre quando acessamos índices válidos de arrays.
Verdadeiro
Falso
O bloco `finally` é utilizado para garantir a liberação de recursos, mesmo que ocorra uma exceção.
Verdadeiro
Falso
Classes abstratas podem conter tanto métodos abstratos quanto implementados.
Verdadeiro
Falso
Interfaces podem ser instanciadas diretamente como qualquer outra classe.
Verdadeiro
Falso
O tratamento de exceções não interfere na separação entre lógica de negócios e tratamento de erro.
Verdadeiro
Falso
'System.OverflowException' pode ocorrer em operações aritméticas que excedem o limite de armazenamento.
Verdadeiro
Falso
