1,try...catch...finally:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace I1
{
class Program
{
static void Main(string[] args)
{
//已到学生列表
int[] studentList = {1, 2, 3, 4, 5, 6};
/********** Begin *********/
try
{
Console.WriteLine("3, please stand up:"+studentList[2]);
Console.WriteLine("7, please stand up:"+studentList[7]);
}
catch(System.IndexOutOfRangeException)
{
Console.WriteLine("Demerit");
}
/********** End *********/
}
}
}
2,throw:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace I1
{
class Program
{
/********** Begin *********/
public static void matchException(int ie)
{
switch(ie)
{
case 1:
throw new IndexOutOfRangeException();
case 2:
throw new NullReferenceException();
}
}
/********** End *********/
static void Main(string[] args)
{
int[] myException = { 1, 2 };
foreach (int n in myException)
{
try
{
matchException(n);
}
catch (IndexOutOfRangeException )
{
Console.WriteLine("we got IndexOutOfRangeException");
}
catch (NullReferenceException )
{
Console.WriteLine("we got NullReferenceException");
}
}
}
}
}
这儿我没搞懂catch语句中为什么要把e去掉才能输出