我正在研究一本Java教科书,对于我必须编写的程序之一,我必须在将标准时间转换为军事时间的同时处理自定义异常。我使用内部类在一个文件中处理这三个类。我不是100%确信这行得通,到目前为止,我还没有发现任何表示不会成功的信息。我可能会使这种方法变得比原来更难,但是书中说我需要三个带有特定名称的类。
我尝试遵循IDE的说明,它说没有可访问的InvalidTimeException类型的封闭实例。必须使用类型为InvalidTimeException的封闭实例(例如x.new A(),其中x是InvalidTimeException的实例)对分配进行限定。对我来说,这告诉我将<script type="text/javascript" src="http://localhost:8081/jasperserver-pro/client/visualize.js"></script>
放不下。所以我尝试像这样throws new InvalidTimeException.new InvalidHrException();
异常类
throws new InvalidTimeException(new InvalidHrException)
示例方法
@SuppressWarnings("serial")
public class InvalidTimeException extends Exception {
public InvalidTimeException () {
System.out.println("Unknown Time error: An error has occoured in the program... shutting down.");
}
public InvalidTimeException (String var) {
System.out.println("Input Mismatch Exception: \"" + var + "\" is not a number.");
}
public class InvalidHrException extends Exception {
public InvalidHrException () {
System.out.println("Error in hour input: An error has occoured with the hour input");
}
}
public class InvalidMinException extends Exception {
public InvalidMinException () {
System.out.println("Error in minute input: An error has occoured with the minute input");
}
}
public class InvalidSecException extends Exception {
public InvalidSecException () {
System.out.println("Error in seconds input: An error has occoured with the seconds input");
}
}
}
我希望这会让我抛出InvalidTimeException类的内部类InvalidHrException的异常。但是,无论我尝试什么,都似乎有错误。我不确定我是刚刚完成复杂的事情还是什么。谢谢您的帮助。
编辑
使错误类正常工作的当前代码
public static void hourChecker (int var) throws InvalidHrException, InvalidTimeException {
if (var <= 0) {
throw new InvalidTimeException(new InvalidHrException());
}
}
当前示例方法
public InvalidTimeException (InvalidHrException IHE) throws InvalidHrException {
// just lets the program hit the inner classes
}