上QQ阅读APP看书,第一时间看更新
2.14 错误处理
异常是在运行期间代码中产生的错误,或者由于代码调用的函数产生的错误。
例如我们用C#制作了一个乘法计算器,用户在窗体上的两个文本框分别输入被乘数和乘数,单击一个按钮,在对话框中给出两个数的乘积。但是有些时候,用户在文本框中输入的不是数字,而是其他字符,那么造成乘法无法算出,如果不加错误处理,将会导致程序意外终止。
C#语言包含结构化异常处理的语法,用于异常处理的三个关键字是:
● try:包含抛出异常的代码。
● catch:包含抛出异常时执行的代码。
● finally:包含始终会执行的代码。
下面的示例,在try块中试图提取数组i中下标为3的元素,实际上该数组的最大下标为2,故此一定会出错。出错后,首先执行catch块内的代码,然后执行finally中的代码。
1 public void错误处理() 2 { 3 try 4 { 5 int[] i = { 1, 3, 5 }; 6 result = i[3].ToString(); //数组下标越界 7 } 8 catch (SystemException ex) 9 { 10 result = ex.Message; 11 } 12 finally 13 { 14 result += "\nfinally"; 15 } 16 }
以下是VBA中的错误处理方式:
1 Public Sub错误处理() 2 On Error GoTo Err1: 3 Dim i(1 To 3) As String 4 result = i(4) '数组下标越界 5 Exit Sub 6 Err1: 7 result = Err.Description 8 End Sub