wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

POO - Revisão Prova III

Total questions: 25

Worksheet time: 13mins

Name
Class
Date
1.

O que caracteriza uma exceção em C#?

a)

Um erro em tempo de compilação

b)

Um erro sintático

c)

Um erro em tempo de execução que interrompe o fluxo normal do programa

d)

Um alerta gerado pelo IDE

2.

Qual das opções abaixo representa uma exceção comum em C# ao tentar acessar um índice inválido de um array?

a)

FileNotFoundException

b)

NullReferenceException

c)

FormatException

d)

IndexOutOfRangeException

3.

Sobre o bloco `catch` em C#, é correto afirmar que:

a)

Ele é obrigatório em toda estrutura try

b)

Ele só pode existir um por estrutura try

c)

Ele trata exceções e deve ser escrito do mais genérico para o mais específico

d)

Ele pode ter múltiplas instâncias, escritas do mais específico para o mais genérico

4.

Em relação ao polimorfismo dinâmico, qual palavra-chave deve ser usada para permitir a sobrescrita de métodos na classe derivada?

a)

abstract

b)

sealed

c)

override

d)

virtual

5.

Qual das seguintes exceções ocorre ao tentar dividir um número por zero?

a)

OverflowException

b)

ArithmeticException

c)

DivideByZeroException

d)

IndexOutOfRangeException

6.

O que define uma classe como abstrata?

a)

Não pode conter construtores

b)

Pode ser instanciada diretamente

c)

Pode conter métodos implementados e não implementados

d)

Deve conter somente métodos abstratos

7.

No tratamento de exceções em C#, o bloco `finally`:

a)

É executado apenas quando não ocorre erro

b)

Quando definido, sempre é executado. Aconteça ou não uma exceção.

8.

O que é necessário para que o CLR determine em tempo de execução qual método deve ser executado no polimorfismo dinâmico?

a)

O uso da palavra-chave sealed

b)

O uso da palavra-chave virtual na base e override na derivada

c)

A utilização de classes genéricas

d)

O uso de atributos estáticos

9.

Quando ocorre uma `NullReferenceException`?

a)

Ao acessar um arquivo inexistente

b)

Ao tentar acessar membro de um objeto nulo

c)

Ao fazer uma conversão de tipo inválida

d)

Ao realizar uma operação aritmética com valores negativos

10.

Qual é uma boa prática ao utilizar polimorfismo dinâmico?

a)

Implementar todos os métodos como estáticos

b)

Evitar o uso de interfaces

c)

Utilizar classes abstratas para representar comportamentos genéricos

d)

Substituir todos os métodos com sealed

11.

Qual é a classe base mais genérica para exceções no C#?

a)

Error

b)

Exception

c)

Throwable

d)

BaseException

12.

O que acontece se uma exceção não for capturada por nenhum `catch`?

a)

O código continua normalmente

b)

A exceção é ignorada

c)

O CLR captura a exceção e pode encerrar o programa

d)

O bloco finally não é executado

13.

Sobre a utilização de interfaces, é correto afirmar que:

a)

Interfaces não podem ser implementadas por classes abstratas

b)

Interfaces são utilizadas apenas para herança múltipla

c)

Interfaces definem métodos com implementação

d)

Interfaces funcionam como contratos a serem implementados

14.

Qual palavra-chave torna obrigatória a implementação de um método nas subclasses?

a)
virtual
b)

abstract

15.

A exceção `FormatException` ocorre quando:

a)

Um índice de array está fora do intervalo

b)

Um objeto é nulo

c)

Há uma falha na conversão de tipos

d)

Um arquivo está corrompido

16.

Exceções em C# são objetos que representam erros durante a execução do programa.

a)

Verdadeiro

b)

Falso

17.

O bloco `try` em C# é opcional e pode ser omitido se houver um `catch`.

a)

Verdadeiro

b)

Falso

18.

O polimorfismo dinâmico permite que métodos com o mesmo nome tenham diferentes assinaturas.

a)

Verdadeiro

b)

Falso

19.

O método `override` é usado para substituir um método virtual definido em uma classe base.

a)

Verdadeiro

b)

Falso

20.

`System.IndexOutOfRangeException` ocorre quando acessamos índices válidos de arrays.

a)

Verdadeiro

b)

Falso

21.

O bloco `finally` é utilizado para garantir a liberação de recursos, mesmo que ocorra uma exceção.

a)

Verdadeiro

b)

Falso

22.

Classes abstratas podem conter tanto métodos abstratos quanto implementados.

a)

Verdadeiro

b)

Falso

23.

Interfaces podem ser instanciadas diretamente como qualquer outra classe.

a)

Verdadeiro

b)

Falso

24.

O tratamento de exceções não interfere na separação entre lógica de negócios e tratamento de erro.

a)

Verdadeiro

b)

Falso

25.

'System.OverflowException' pode ocorrer em operações aritméticas que excedem o limite de armazenamento.

a)

Verdadeiro

b)

Falso