我不理解使用try和catch处理错误的感觉。(C#)在我的在线课程中,使用了以下示例:
class Program
{
static void Main(string[] args)
{
try
{
int[] numbers = new int[3];
numbers[1] = 0;
numbers[2] = 1;
numbers[3] = 2;
numbers[4] = 3;
}
catch(IndexOutOfRangeException ex)
{
Console.WriteLine(ex.Message);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadKey();
}
}
这是一个非常简单的示例,但是我为什么要这样做呢?
我是一个新手...我正在学习编写C#的代码...但是我尝试通过这种方式学习,以至于在最好的情况下根本不会发生错误。
我为什么要尝试捕获这样的异常而不是
run the programm -> "Ah there is a exeption" -> and then fix it?
首先,C#数组中的一个小点是基于0索引的,这意味着您应该以数字[0]开头。
在您的情况下,数字[4]将失败,但是如果没有try / catch,代码将立即停止。
大多数时候,您想记录应用程序中发生了错误的情况,因此这是try / catch机制的第一个可能的(并且被广泛使用的)目的。
有时,操作可能并不足够重要,无法停止程序。假设您要发送统计信息。如果无法发送统计信息(网络问题?),则您不希望程序完全停止。
需要更细粒度捕获的另一个用例是例如重试机制。如果由于网络问题而导致崩溃,您可以稍后再试,但是如果由于IndexOutOfRangeException而导致崩溃,则该问题会反复发生,因此甚至无需重试(但是您可能会记录它)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句