假設我想退出控制檯程序(如果用戶輸入字符f並且在程序的任何時間)。 用戶應該輸入一些信息,但是我希望他輸入輸入的每一步都能夠在輸入「f」時停止所有操作? 我該怎麼做? 它應該是這樣的:有關如何以異常退出程序的問題
try
{
if (userchoice.equals("F"))
{
throw new exception e;
}
}
catch (exception e)
{
System.exit(1);
}
感謝
假設我想退出控制檯程序(如果用戶輸入字符f並且在程序的任何時間)。 用戶應該輸入一些信息,但是我希望他輸入輸入的每一步都能夠在輸入「f」時停止所有操作? 我該怎麼做? 它應該是這樣的:有關如何以異常退出程序的問題
try
{
if (userchoice.equals("F"))
{
throw new exception e;
}
}
catch (exception e)
{
System.exit(1);
}
感謝
下面是正確的語法:
try {
if (userchoice.equals("F")) {
throw new Exception();
}
} catch (Exception e){
System.exit(1);
}
好的,謝謝,但在程序設計中使用例外或其他方式退出是正確的嗎?再次感謝 – GAEBegginer
默默地捕捉任何異常可能不是最好的方法。 ;) –
@Andreas_D:你錯過了「等於參數,代表你編輯,希望你不要介意 –
提示:
您可以拋出異常,除非它被捕獲,否則會導致當前線程死亡。
if ("f".equalsCaseIgnore(userchoice))
throw new IllegalArgumentException("Option "+userchoice+" not allowed.");
請執行以下操作。
BufferedReader
或Scanner
之類的類從命令行讀取輸入。throw new MyException();
System.exit(1);
終止它,如果你需要 「F」 或 「F」,使用equalsIgnoreCase()
功能。
嘗試這樣的事情,
try{
if (userchoice.equals("F")) {
throw new MyException;
}
}
catch (MyException e) {
System.out.println("MyException caught because i/p character was F" + e);
System.exit(1);
}
炭「F」的輸入是正常現象,所以拋出一個異常,可能是走錯了路。
將輸入封裝在負責處理輸入和決定行爲的方法中。
如果用戶輸入「f」或調用執行該工作的退出方法,則在此調用system.exit()。
你試過了嗎? – skaffman
如果未發現異常,它可能會退出程序。你確定這真的需要嗎? –
您是否可以等到用戶按,或者您想按下'f'完全退出? –