异常捕获
我们在程序中经常会出现各种各样的异常,你如果想要你的程序变得坚强一些,在你的代码中应该经常性的使用try–catch语句进行异常捕获
哪行代码有可能出现异常,就try起来。
语法:
Try
{
可能会出现异常的代码
}
Catch
{
出现异常后要执行的代码
}
执行过程:如果try中的代码没有出现异常,那么catch中的代码不会执行
如果try中的代码出现了异常,哪怕这行代码后面还有一百行代码都不会执行了,直接跳到catch中执行代码。
示例:
//输入一个数字,然后输出这个数字的二倍try--catch语句
//注意:try和catch之间不能有其他的代码
Console.WriteLine("请输入一个数字:");
try
{
int number = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(number * 2);
}
catch //输入为非数字时运行catch
{
Console.WriteLine("您输入的内容有误。");
}
Console.ReadKey();
Switch…case
执行过程:程序运行到switch处,首先将括号中变量或者表达式的值计算出来,然后拿着这个值依次跟每个case后面的值进行匹配,一旦匹配成功,则运行该case所带的代码,执行完成后,遇到break,跳出switch–case结构,如果跟每个case所带的值都不匹配,就看当前这个switch–case结构中是否存在default,如果有default,则执行default中的语句,如果没有default,则该switch–case结构什么都不做。
while循环
执行过程:程序运行到while处,首先判断while所带的小括号内的循环条件是否成立,如果成立的话,也就是返回一个true,则执行循环体,执行完一遍循环体后,再次回到循环条件的判断,如果依然成立,则继续执行循环,如果不成立,则跳出while循环,如果没有那么一行代码能够改变循环条件,也就是循环条件永远都成立,则为死循环。
break
作用:
跳出switch–case结构
跳出当前while循环
一般不单独的使用,而是跟着if判断一起使用,当满足某些条件的了。时候就不再循环
示例
//输入年份和月份,输出对应的天数。
Console.WriteLine("请输入年份:");
try
{
int year = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入月份:");
try
{
int month = Convert.ToInt32(Console.ReadLine());
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
Console.WriteLine("{0}年{1}月是31天。",year, month);
break;
case 4:
case 6:
case 9:
case 11:
Console.WriteLine("{0}年{1}月是30天。", year, month);
break;
case 2:
if ((year % 4 == 0 && year % 100 != 0) || (year % 4 == 0 && year % 400 == 0))
Console.WriteLine("{0}年{1}月是29天。", year, month);
else
Console.WriteLine("{0}年{1}月是28天。",year, month);
break;
default:
Console.WriteLine("您输入的月份有错。");
break;
}
}//月份的try
catch
{
Console.WriteLine("您输入的月份有错");
}
} //年份的try
catch
{
Console.WriteLine("您输入的年份有误");
}
Console.ReadKey();