Ошибка исключения, несмотря на try-catch и выдает попытки исключения - PullRequest
0 голосов
/ 20 января 2020

Я очень смущен, потому что у меня есть этот код ниже, который, я считаю, должен перехватывать исключения:

    @SuppressWarnings("unchecked")
    public static String method(String userToken, int nthRecent) throws Exception
    {
      //my own user Token: 35a5b026870c49f69d3c688779ff26db
      String tweet = tweets.get(nthRecent);
      try
      {
         String urlString = "https://api.dandelion.eu/datatxt/sent/v1/?lang=en&text=";
         urlString += tweet;
         urlString = urlString + "&token="+userToken; 
         
         URL url = new URL(urlString);
         HttpURLConnection con = (HttpURLConnection) url.openConnection();
         con.setRequestMethod("GET");
         
         BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
         StringBuffer response = new StringBuffer();
         String line; 
         while ((line = in.readLine()) != null) 
         {
            response.append(line);
         }
         in.close();
         return response.toString();
         con.disconnect();
      }
      catch (Exception e)
      {
         e.printStackTrace();
         return null;
      }
   }

Но я продолжаю получать это сообщение об ошибке:

TwitterPart3. java: 42: ошибка: незарегистрированное исключение Исключение; должен быть перехвачен или объявлен как выброшенный consolePrint.println (bigBird.method (userToken, nthRecent));

Я выбрасываю неправильное исключение? Я пробовал и пробовать, и бросать, так что я не уверен, почему это происходит.

Обновление: ниже мой основной метод:

   private static PrintStream consolePrint;
   public static void main(String[] args) throws TwitterException, IOException
   {
        consolePrint = System.out;
        SentimentAnalyser bigBird = new SentimentAnalyser(consolePrint);
        Scanner scan = new Scanner(System.in);
        consolePrint.print("Please enter a Twitter handle, do not include the @symbol --> ");
        String twitter_handle = scan.next();
        
        while(!twitter_handle.equals("done"))
        {
            bigBird.queryHandle(twitter_handle);
            consolePrint.print("Enter the \"nth\" most recent tweet you would like analysed from " + twitter_handle + "--> ");
            int nthRecent = scan.nextInt();
            consolePrint.print("Enter your user Token " + twitter_handle + "--> ");
            String userToken = scan.next(); 
            consolePrint.println(bigBird.method(userToken, nthRecent)); // this is the line 42 the error refers to
            twitter_handle = scan.next();
        }
   }
...