1、用try......catch.....捕获异常
注:convert是一个类,代表类型转换的类。ToInt32()是Convert的一个方法,这个方法的功能就是把指定的内容转换成整数类型
namespace 异常
{
class Program
{
static void Main(string[] tri)
{
try //可能会出错的代码
{
int i = Convert.ToInt32("abc");
}
catch(Exception ex) //出错则执行
{
Console.WriteLine("出错了朋友");
}
Console.ReadKey();
}
}
}
运行结果:
2、异常前后:从异常点开始,之后的代码不会被执行
namespace 异常
{
class Program
{
static void Main(string[] tri)
{
try //可能会出错的代码
{
Console.WriteLine("异常之前");
int i = Convert.ToInt32("abc");
Console.WriteLine("异常之后");
}
catch(Exception ex) //出错则执行
{
Console.WriteLine("出错了朋友");
}
Console.ReadKey();
}
}
}
运行结果:
3、用+ex.Message找出异常原因,用+ex.StackTrace找出异常地点
namespace 异常
{
class Program
{
static void Main(string[] tri)
{
try //可能会出错的代码
{
Console.WriteLine("异常之前");
int i = Convert.ToInt32("abc");
Console.WriteLine("异常之后");
}
catch(Exception ex) //出错则执行
{
Console.WriteLine("出错了朋友"+ex.Message+ex.StackTrace);
}
Console.ReadKey();
}
}
}
运行结果:
4、show new Exception抛出异常
注:像try catch 和if else 等一些判断语句,多个的还是一个的,只要函数返回值不是void 那么 每个判断都要有return .当然了如果在函数最后return 以上的都是废话
namespace 异常
{
class Program
{
static void Main(string[] tri)
{
try //可能会出错的代码
{
string desc = GetAgeDesc(300);
}
catch(Exception ex) //发生异常时已经new好了一个exception对象扔(throw)出来,抓住(catch)即可
{
Console.WriteLine("出错了朋友"+ex.Message+ex.StackTrace);
}
Console.ReadKey();
}
static string GetAgeDesc(int age)
{
if (age < 0) //发生异常就不能、不用return
{
throw new Exception("跑快点啊朋友");
}
else if(age>0 && age < 150)
{
return("欢迎来到,人间天堂");
}
else
{
throw new Exception("好走不送");
}
}
}
}
运行结果:
然后我现在在听梁静茹的《接受》hhh