使用以下示例可以了解try,catch和final中的流控制。在这里,我们将两个数相除-
using System; namespace ErrorHandlingApplication { class DivNumbers { int result; DivNumbers() { result = 0; } public void division(int num1, int num2) { try { result = num1 / num2; } catch (DivideByZeroException e) { Console.WriteLine("Exception caught: {0}", e); } finally { Console.WriteLine("Result: {0}", result); } } static void Main(string[] args) { DivNumbers d = new DivNumbers(); d.division(25, 0); Console.ReadKey(); } } }
输出结果
Exception caught: System.DivideByZeroException: Attempted to divide by zero. at ErrorHandlingApplication.DivNumbers.division (System.Int32 num1, System.Int32 num2) [0x00000] in :0 Result: 0
下面显示了在C#中使用try catch最终处理异常的流程控制
如果try块中发生异常,则控制权转移到catch块。
在catch块完成后,finally块将起作用。
如果没有异常发生,则首先进行尝试,然后进行流控制以最终阻止