要求:
部分是通过选择一位老师、一门学科和一个时间表来创建的。
系统验证是否遵循所有业务规则。
系统检测到未遵循业务规则。
系统通知用户冲突。
系统不创建新部分。
3.系统创建新部分。
我的问题是,如果我为 Section(Teacher t, Subject s, Schedule c) 定义了一个构造函数,我不知道如何返回冲突的错误消息。
我应该让我的构造函数抛出异常吗?如果是,如何从捕获的异常中返回字符串?如何创建该异常?
或者有没有更好但更简单的实现?
要求:
部分是通过选择一位老师、一门学科和一个时间表来创建的。
系统验证是否遵循所有业务规则。
系统检测到未遵循业务规则。
系统通知用户冲突。
系统不创建新部分。
3.系统创建新部分。
我的问题是,如果我为 Section(Teacher t, Subject s, Schedule c) 定义了一个构造函数,我不知道如何返回冲突的错误消息。
我应该让我的构造函数抛出异常吗?如果是,如何从捕获的异常中返回字符串?如何创建该异常?
或者有没有更好但更简单的实现?
报告构造函数失败归结为两个选项:
您可以肯定地抛出异常。
throw new Exception("Some required files are missing");
或者创建一个新的异常以在您的应用程序中使用(它的工作方式相同)
如果您想阅读 try / catch 语句中的消息,只需执行以下操作:
try
{
// ...
}
catch(Exception ex)
{
System.out.println(ex.getMessage()); //this will get "Some required files are missing"
}
有关更多信息,请查看以下链接: http ://en.wikibooks.org/wiki/Java_Programming/Throwing_and_Catching_Exceptions 如何在 Java 中抛出一般异常? http://docs.oracle.com/javase/6/docs/api/java/lang/Throwable.html#getMessage()
不可能从构造函数返回值。这样做的唯一方法是抛出某种异常。您可以使用现有的异常类型(如果有任何适用)或通过扩展创建自己的Exception
. 例如:
public class MyException extends Exception {
public MyException(){
super();
}
public MyException(String message){
super(message);
}
}
您的构造函数将简单地抛出异常的新实例并设置适当的消息。创建类实例的代码将捕获异常并处理它。您可以在此时通过调用获取消息getMessage()
。