+ // see: http://fbdevwiki.com/wiki/Error_codes
+ switch(error.code)
+ {
+ // 1..99: general errors
+ case 1: return new UnknownErrorException(error);
+ case 2: return new UnexpectedErrorException(error);
+ case 21: return new PageMigratedException(error);
+ // 100..199: graph method errors
+ case 100: return new UnsupportedGetRequestException(error);
+ case 104: return new AccessTokenRequiredException(error);
+ // 200..299: permission errors
+ // 300..399: data editing errors
+ // 400..449: authentication error
+ // 450..499: session errors
+ // 500..599: application messaging errors
+ // 600..699: FQL errors
+ case 613: return new RateExceededException(error);
+ // 700..749: ref errors
+ // 750..799: application integration errors
+ // 900..949: application information errors
+ // 950..999: batch api errors
+ // 1000..1099: event api errors
+ // 1100..1199: live-message errors
+ case 2200: return new CallbackVerificationFailedException(error);
+
+ default:
+ LOG.info("unmapped error: {}", error);
+ return new UnmappedErrorException(error);
+ }