What is exception handling in C#?

๐Ÿ’ก Concept: Exception Handling

Exception handling in C# allows programs to manage runtime errors gracefully to avoid crashes and maintain flow control.

๐Ÿ“˜ Quick Intro

Using try, catch, and finally blocks, C# enables catching exceptions, handling errors, and cleaning up resources.

๐Ÿง  Analogy

Exception handling is like having a fire extinguisher ready โ€” it lets you control and put out unexpected fires before they spread.

๐Ÿ”ง Technical Explanation

  • ๐Ÿ” try block encloses code that might throw exceptions.
  • ๐Ÿ›‘ catch blocks handle specific or general exceptions.
  • โ™ป๏ธ finally block executes cleanup code regardless of exceptions.
  • ๐Ÿšฆ Exceptions propagate up the call stack if unhandled.
  • โš™๏ธ Custom exceptions provide more meaningful error context.

๐ŸŽฏ Use Cases

  • โœ… Handling file I/O errors.
  • โœ… Managing database connectivity issues.
  • โœ… Validating user input.
  • โœ… Network communication error handling.

๐Ÿ’ป Code Example


try {
    int number = int.Parse(""abc""); // Throws FormatException
} 
catch (FormatException ex) {
    Console.WriteLine(""Input is not a valid number."");
} 
finally {
    Console.WriteLine(""End of exception handling."");
}

โ“ Interview Q&A

Q1: What is the purpose of try-catch?
A: To catch and handle runtime errors gracefully.

Q2: What does the finally block do?
A: Executes cleanup code regardless of exceptions.

Q3: Can exceptions be rethrown?
A: Yes, using throw statement.

Q4: What is an unhandled exception?
A: Exception not caught by any handler.

Q5: How to create custom exceptions?
A: Inherit from Exception class.

Q6: Why use specific catch blocks?
A: For precise error handling.

Q7: What happens if no catch matches?
A: Exception propagates up the call stack.

Q8: Is exception handling costly?
A: It can affect performance, use judiciously.

Q9: What is the base class for exceptions?
A: System.Exception.

Q10: Can you catch multiple exceptions?
A: Yes, with multiple catch blocks.

๐Ÿ“ MCQs

Q1. What is the purpose of try-catch?

  • Handle runtime errors
  • Ignore errors
  • Crash program
  • Log data

Q2. What does finally do?

  • Catches errors
  • Cleanup code
  • Throws exceptions
  • Terminates program

Q3. Can exceptions be rethrown?

  • No
  • Yes
  • Sometimes
  • Never

Q4. What is an unhandled exception?

  • Caught and handled
  • Not caught
  • Logged
  • Thrown again

Q5. How to create custom exceptions?

  • Use interface
  • Inherit Exception
  • Use abstract class
  • Throw exception

Q6. Why use specific catch blocks?

  • Generic handling
  • Precise handling
  • No handling
  • Ignore errors

Q7. What happens if no catch matches?

  • Swallows exception
  • Propagates up stack
  • Terminates silently
  • Ignores error

Q8. Is exception handling costly?

  • No
  • Use judiciously
  • Always costly
  • No impact

Q9. Base class for exceptions?

  • System.Error
  • System.Exception
  • System.Object
  • System.Handle

Q10. Can you catch multiple exceptions?

  • No
  • Yes
  • Sometimes
  • No idea

๐Ÿ’ก Bonus Insight

Proper exception handling enhances application reliability and user experience by preventing unexpected crashes and facilitating debugging.

๐Ÿ“„ PDF Download

Need a handy summary for your notes? Download this topic as a PDF!

๐Ÿ” Navigation

๐Ÿ’ฌ Feedback
๐Ÿš€ Start Learning
Share:

Tags: