• Exception Handling - General Questions
1. 

Which of the following is NOT a .NET Exception class?

A. Exception
B. StackMemoryException
C. DivideByZeroException
D. OutOfMemoryException

2. 

Which of the following statements is correct about an Exception?

A. It occurs during compilation.
B. It occurs during linking.
C. It occurs at run-time.
D. It occurs during Just-In-Time compilation.

3. 

In C#.NET if we do not catch the exception thrown at runtime then which of the following will catch it?

A. Compiler
B. CLR
C. Linker
D. Loader

4. 

Which of the following statements is correct about the C#.NET program given below?

using System;
namespace IndiabixConsoleApplication
{
    class MyProgram
    {
        static void Main(string[] args)
        {
            int index = 6;
            int val = 44;
            int[] a = new int[5];
            try
            {
                a[index] = val ;
            }    
            catch(IndexOutOfRangeException e)
            {
                Console.Write("Index out of bounds ");
            }
            Console.Write("Remaining program");
        }
    }
}

A. Value 44 will get assigned to a[6].
B. It will output: Index out of bounds
C. It will output: Remaining program
D. It will not produce any output.

5. 

Which of the following statements are correct about exception handling in C#.NET?

  1. If an exception occurs then the program terminates abruptly without getting any chance to recover from the exception.
  2. No matter whether an exception occurs or not, the statements in the finally clause (if present) will get executed.
  3. A program can contain multiple finally clauses.
  4. A finally clause is written outside the try block.
  5. finally clause is used to perform clean up operations like closing the network/database connections.

A. 1 only
B. 2 only
C. 2 and 5 only
D. 3 and 4 only