Я очень смущен, потому что у меня есть этот код ниже, который, я считаю, должен перехватывать исключения:
@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();
}
}