日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了捕獲異常并請求用戶重新輸入的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在創建一個打開然后讀取用戶指定的文件的程序,目前我擁有的代碼如下所示:

    System.out.println("Enter the name of the file you want to open: ");
    FileN = scan.nextLine();
    // I want the program to return to this point here if an error has occured.
    try
    {
        scan = new Scanner(new File (FileN));
    }
    catch(Exception e)
    {
        System.out.println("Could not find file" + e);
        System.out.println("Please enter a valid file name: ");

    }

我已經在上面指定了我希望程序在代碼中返回的位置,我目前已經嘗試創建一個循環,然后使用Continue,但是它不會讓我在循環中嘗試。此外,我試圖創造一個新的空白,但它仍然不起作用。當前,即使用戶輸入了無效的文件名,程序也會繼續運行。

我已經搜索了答案,但只能找到與我想要的內容相關的答案:Java – Exception handling – How to re-enter invalid input

還澄清了在循環中嘗試是什么意思;是的,這是可能的。但是,我想知道為了繼續在我的程序中工作,我是將try放入循環中,還是將循環放入try中?我已經提到:Should try…catch go inside or outside a loop?

This is the error I’m currently getting with my latest code

推薦答案

如果您使用Exception,從它的本意是用來處理意想不到的事情的意義上來說,它會變得更容易一些。正如預期的那樣,不存在的文件并不是真正的例外。存在但無法打開的文件,或者正在打開但內容為零的文件(即使它有1MB的內容)是意想不到的事情,因此也是例外。考慮到不存在的文件的預期行為(因為它是由用戶鍵入的,而用戶可能鍵入不正確),您可以使用如下內容:

boolean fileExists = false;
File newFile;
while(!fileExists) {
  System.out.println("Enter the name of the file you want to open: ");
  FileN = scan.nextLine();
  newFile = new File(FileN);
  fileExists = newFile.exists();
  if (!fileExists) {
    System.out.println(FileN + " not found...");
  }
}
try {
    Scanner scan;
    scan = new Scanner(newFile);
    ... do stuff with the scanner
}
catch(FileNotFoundException fnfe) {
  System.out.println("sorry but the file doesn't seem to exist");
}

這篇關于捕獲異常并請求用戶重新輸入的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:異常 捕獲 用戶 請求 重新輸入
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定