C# 面试题 目录

C# 中 try-catch-finally 语句的用法

推荐答案

-- -------------------- ---- -------
---
-
    -- --------
    --- ------ - -- - --------------- -- ----- ---------------------
-
----- ---------------------- ---
-
    -- -- --------------------- --
    ---------------------------- - - ------------
-
----- ---------- ---
-
    -- --------
    ------------------------- - - ------------
-
-------
-
    -- -----------------
    -------------------------- ------
-

本题详细解读

try 块

try 块用于包含可能会抛出异常的代码。如果在 try 块中的代码抛出了异常,程序会立即跳转到相应的 catch 块进行处理。

catch 块

catch 块用于捕获并处理 try 块中抛出的异常。可以有多个 catch 块,每个 catch 块可以捕获不同类型的异常。catch 块中的代码只有在对应的异常被抛出时才会执行。

finally 块

finally 块中的代码无论是否发生异常都会执行。通常用于释放资源或执行清理操作。即使 try 块中有 return 语句,finally 块中的代码也会在返回之前执行。

异常处理流程

  1. 程序首先执行 try 块中的代码。
  2. 如果 try 块中的代码抛出异常,程序会立即跳转到第一个匹配的 catch 块。
  3. 如果没有匹配的 catch 块,异常会继续向上抛出,直到被捕获或程序终止。
  4. 无论是否发生异常,finally 块中的代码都会执行。

注意事项

  • catch 块中的异常类型应该从具体到一般,即先捕获具体的异常类型,再捕获通用的 Exception 类型。
  • finally 块是可选的,但如果存在,它总是会执行。
  • finally 块中不应该抛出异常,否则会覆盖 try 块中的异常。
纠错
反馈