[教程][C#] 新手入门教程#17——Try..Catch..Finally

如果在玩数组的时候
你很鸡冻/不小心的输入:

image
然后运行点击按钮时:

image

VS 罢工了!

image
为什么?
因为

数组str没有index 为 2 的元素!

你:我不要这东西!我不要!我不要!
那你该如何检查这些错误
然后handle 他们
防止整个程序挂掉呢?
用 try .. catch .. 结构!

image

try
首先它会运行Code body1
如果没有出错
就跳过 catch 中的 code body 2
如果出错的话
他就会运行 code body 2

来看看例子:

image
如果try 中的代码出错的话
就会有messagebox 跳出来说:

你挂了!

image
但是如果没有任何错误的话:

str[2] 变成 str[0] 了

image
运行的话
当然没有任何msgbox了

image

你:可是我能让Messagebox显示什么有什么错误么?
我:能!
只要在catch 加上:

image

(Exception ex)
就是当有错误出现时
将有关错误的信息存入变量ex 内

如果你要显示有什么错误的话:

image
运行看看:

image
最后的
还有一个finally:

image

Code body3
不管有没有任何错误
Code body 3 都会被执行

像这个有错误的代码:

image
运行点击button
就会出现两个messagebox
第一个是Exception 的信息

image
第二个就是finally 中的 messagebo

image

但是如果try 中的代码没有错误的话:

image
finally 之中的代码还是一样会被执行:

image

« [教程][C#] 新手入门教程#16——Do..While 循环 [教程][C#] 新手入门教程#18——Methods »
comments powered by Disqus