C#自定义一个异常 要求是年龄不符合20到30之间就报错 。。求大神给改改代码哇 。跪谢

2024-11-07 20:57:00
推荐回答(3个)
回答1:

下文中最好不要在public class里边再定义类,有些编译器是不允许的。

public class Student
{
private int _Age = 20; //定义年龄字段,默认值为20
public int Age
{
get{ return _Age;}
set{ if(value >30 || value<20) throw new Exception("输入年龄错误");
else _Age = value;
}

}

//others Attrubite defined
}

//如果仅仅是显示错误,只需要throw出现错误即可,用Exception足可以使用。若是标自定义错误,请从Exception过行继承,抛出错误时直接使用new出来的新对象。

如:
public class DefinedException : Exception
{
//重写部分Exception属性
}

使用时即可用 throw new DefnedException();即可!

回答2:

public class MyException : ArgumentOutOfRangeException

{
public MyException(string par):base(par, "年龄不在有效的范围内。")

{
}
}

public class student
{
int age;

public student(int _age)

{
if(_age < 20 || _age > 30)

{
throw new MyException("_age");

}
}
}

回答3:

public MyException()
{
try
{
if (age < 20 || age > 30)
{
throw new Exception();
}
}
catch (Exception ex)
{
Console.WriteLine("您输入的年龄有误");
Console.WriteLine(ex.Message);
}
}

更改这段就好了