Dan*_*ore 6 java exception-handling exception input
我正在尝试 Java 的异常处理。
我无法从文档中了解如何执行此操作,但我想要做的是检测无效输入,以便在激活默认情况时为我的开关抛出错误。这对我来说可能是不正确的逻辑,但我想知道是否有人可以用简单的英语将我推向正确的方向。
char choice = '0';
while (choice != 'q'){
printMenu();
System.in.read(choice);
case '1': DisplayNumAlbums();
case '2': ListAllTitles();
case '3': DisplayAlbumDetail();
case 'q': System.out.println("Invalid input...");
return;
default: System.out.println("Invalid input...");
//Exception handling here
//Incorrect input
}
Run Code Online (Sandbox Code Playgroud)
我假设您的错误是经过深思熟虑的,因此我将使用您自己的代码来制作您所要求的用法的示例。因此,拥有一个正在运行的程序仍然是您的责任。
异常处理机制的目的是让您在达到某些错误条件(如您的情况)时抛出异常。假设您的方法被调用,choiceOption您应该这样做:
public void choiceOption() throws InvalidInputException {
char choice = "0";
while (choice != "q"){
printMenu();
System.in.read(choice);
switch(choice){
case "1": DisplayNumAlbums();
case "2": ListAllTitles();
case "3": DisplayAlbumDetail();
case "q": System.out.println("Invalid input...");
return;
default: System.out.println("Invalid input...");
throw new InvalidInputException();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这可以让您捕获客户端(您拥有的任何客户端:文本、胖客户端、Web 等)中抛出的异常,并让您执行自己的客户端操作,即,如果您使用 swing,则显示 JOptionPane,或者如果使用,则添加面孔消息您正在使用 JSF 作为您的视图技术。
请记住,这InvalidInputException是一个必须扩展 Exception 的类。