2017-01-23 1 views
0

'themoviedbapi'래퍼를 사용하여 TMDB의 데이터를 크롤링하는 데 약간의 문제가 있습니다.'themoviedbapi'wrapper를 사용하여 TMDB API의 응답 상태 코드로 예외 처리

필자는 json 응답을 db에 넣으 려 할 때 발생할 수있는 테스트 클래스를 작성했습니다.

촬영되지 않은 ID를 타격 때, 나는 다음있어 메시지 : 내 자바로

Exception in thread "main" ResponseStatus{code=34, message=The resource you requested could not be found.} 
at info.movito.themoviedbapi.AbstractTmdbApi.mapJsonResult(AbstractTmdbApi.java:78) 
at info.movito.themoviedbapi.AbstractTmdbApi.mapJsonResult(AbstractTmdbApi.java:45) 
at info.movito.themoviedbapi.AbstractTmdbApi.mapJsonResult(AbstractTmdbApi.java:40) 
at info.movito.themoviedbapi.TmdbMovies.getMovie(TmdbMovies.java:60) 
at tmdb_api_to_db.Test.main(Test.java:21) 

당신이 말해 주시겠습니까, 어떻게이 문제를 처리하기 위해, 지옥 같은 녹슨입니까? 나는 시도에 대해 생각하고 있었다 & 붙잡는다. 그러나 나는 좋은 충고에 감사 할 것이다!

package tmdb_api_to_db; 

import org.apache.commons.httpclient.HttpException; 
import info.movito.themoviedbapi.TmdbApi; 
import info.movito.themoviedbapi.TmdbMovies; 
import info.movito.themoviedbapi.model.Credits; 
import info.movito.themoviedbapi.model.MovieDb; 

public class Test { 


public static void main(String[]args){ 

    int movieID = 1; 

    try{ 

    TmdbMovies movies = new TmdbApi("###########").getMovies(); 
    MovieDb movie_name = movies.getMovie(movieID, "en"); 
    Credits movie_credits = movies.getCredits(movieID); 

    System.out.println(movie_name); 
    System.out.println(movie_credits.getCast()); 
    System.out.println(movie_credits.getCrew()); 
    System.out.println(movie_credits.getGuestStars()); 
    System.out.println(prettyJsonString); 
    }catch(XX){ 
     } 

    } 

} 

답변

0

시도 캐치를 사용하여 좋은 방법입니다 :

여기에 지금까지 내 코드입니다. 이 API에 대해서는 알지 못하지만 캐치의 오류 코드를 확인하여 다음에 수행 할 작업을 결정할 수 있습니다. 당신이 정말로 오류가 특정 라인에서 오는 확인하려면

나는 당신이이처럼 시도/캐치를 수정 제안 :

// .. 

TmdbMovies movies = new TmdbApi("###########").getMovies(); 
MovieDb movie_name; 
try{ 
    movie_name = movies.getMovie(movieID, "en"); 
}catch(Throwable e){ 
    System.err.println("Erreur getting movie #"+movieID); 
    return; 
} 

// ... 
+1

감사합니다! 그게 바로 제가 찾고 있던 것이 었습니다! :) 편집 : 죄송합니다. 내 평판이 낮기 때문에 투표를 할 수 없습니다. ( – pallox

관련 문제