Как получить пользовательский файл не найденное сообщение - PullRequest
0 голосов
/ 20 февраля 2019

, когда мой код запускается, и пользователь помещает местоположение, которое не может быть найдено, или ввод, который не работает, система возвращает исключение файла не найдено со ссылкой.Я понятия не имею, как получить это сообщение об исключении для вывода пользовательских инструкций о том, как заставить программу работать, вместо того, чтобы просто сказать, что файл не найден.

  package url_request;

 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.util.Scanner;

 import org.json.JSONArray;
 import org.json.JSONObject;

  public class Test_URL_req {
static Scanner input = new Scanner(System.in);

public static void main(String[] args) {




    try {


        String Usercity = "";
        System.out.println("Which city would you like to view");
        Usercity = input.next();




    String url = "http://api.openweathermap.org/data/2.5/weather?q="+Usercity+",uk&units=metric&appid=10a285fd9251176efb6e230da704ba43";
    URL obj = new URL(url);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();




    BufferedReader in = new BufferedReader(
             new InputStreamReader(con.getInputStream()));
     String inputLine;
     StringBuffer response = new StringBuffer();
     while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
     }
     in.close();



     JSONObject myResponse = new JSONObject(response.toString());
     JSONObject main_data = myResponse.getJSONObject("main");
     JSONObject wind_data = myResponse.getJSONObject("wind");



     JSONArray weatherarray= myResponse.getJSONArray("weather");
     JSONObject weatherreport = weatherarray.getJSONObject(0);

     String main = weatherreport.getString("main");
     String description = weatherreport.getString("description");



     System.out.println("City - "+myResponse.getString("name"));
     System.out.println("Temp C - "+main_data.getDouble("temp"));
     System.out.println("Weather Conditions- "+weatherreport.getString("main"));
     System.out.println("Weather Summary- "+weatherreport.getString("description")); 
     System.out.println("Wind speed- "+wind_data.getDouble("speed"));
     System.out.println("Wind Direction- "+wind_data.getDouble("deg"));
     System.out.println("Humidity- "+main_data.getDouble("humidity"));
     System.out.println("Pressure- "+main_data.getInt("pressure"));


     } catch(Exception e ) {
        System.out.println(e);

    }




}



}

Я хочу, чтобы оно выводило инструкции о том, какправильно искать вместо файла не найдено никаких предложений

1 Ответ

0 голосов
/ 20 февраля 2019

Вы могли бы явно поймать исключение файла не найдено

catch(FileNotFoundException exception)

И затем дать пользователю желаемые инструкции, которые вы хотите?

Итак, где вы ловите исключение:

catch(Exception e ) {

добавьте это:

catch(FileNotFoundException e){
//Instructions}
catch(Exception e ) {
System.out.println(e);}
...