1 module vksdk.exceptions.ExceptionMapper;
2 
3 import vksdk.exceptions.ApiException;
4 import vksdk.exceptions.ApiUnknownException;
5 import vksdk.objects.base.BaseError;
6 
7 class ExceptionMapper {
8     static ApiException parseException(BaseError error) {
9         switch (error.errorCode) {
10             case 1:
11                 return new ApiUnknownException(error.errorMsg);
12          /*   case 2:
13                 return new ApiDisabledException(error.getErrorMsg());
14             case 3:
15                 return new ApiMethodException(error.getErrorMsg());
16             case 4:
17                 return new ApiSignatureException(error.getErrorMsg());
18             case 260:
19                 return new ApiAccessGroupsException(error.getErrorMsg());
20             case 5:
21                 return new ApiAuthException(error.getErrorMsg());
22             case 6:
23                 return new ApiTooManyException(error.getErrorMsg());
24             case 7:
25                 return new ApiPermissionException(error.getErrorMsg());
26             case 8:
27                 return new ApiRequestException(error.getErrorMsg());
28             case 9:
29                 return new ApiFloodException(error.getErrorMsg());
30             case 10:
31                 return new ApiServerException(error.getErrorMsg());
32             case 11:
33                 return new ApiEnabledInTestException(error.getErrorMsg());
34             case 14:
35                 return new ApiCaptchaException(error.getErrorMsg(), error.getCaptchaSid(), error.getCaptchaImg());
36             case 270:
37                 return new ApiAudioClaimedException(error.getErrorMsg());
38             case 15:
39                 return new ApiAccessException(error.getErrorMsg());
40             case 16:
41                 return new ApiAuthHttpsException(error.getErrorMsg());
42             case 17:
43                 return new ApiAuthValidationException(error.getErrorMsg(), error.getRedirectUri());
44             case 18:
45                 return new ApiUserDeletedException(error.getErrorMsg());
46             case 19:
47                 return new ApiBlockedException(error.getErrorMsg());
48             case 20:
49                 return new ApiMethodPermissionException(error.getErrorMsg());
50             case 21:
51                 return new ApiMethodAdsException(error.getErrorMsg());
52             case 22:
53                 return new ApiUploadException(error.getErrorMsg());
54             case 23:
55                 return new ApiMethodDisabledException(error.getErrorMsg());
56             case 24:
57                 return new ApiNeedConfirmationException(error.getErrorMsg(), error.getConfirmationText());
58             case 1310:
59                 return new ApiCommunitiesCatalogDisabledException(error.getErrorMsg());
60             case 1311:
61                 return new ApiCommunitiesCategoriesDisabledException(error.getErrorMsg());
62             case 800:
63                 return new ApiVideoAlreadyAddedException(error.getErrorMsg());
64             case 801:
65                 return new ApiVideoCommentsClosedException(error.getErrorMsg());
66             case 300:
67                 return new ApiAlbumFullException(error.getErrorMsg());
68             case 301:
69                 return new ApiFilenameException(error.getErrorMsg());
70             case 302:
71                 return new ApiAlbumsLimitException(error.getErrorMsg());
72             case 1105:
73                 return new ApiAuthFloodErrorException(error.getErrorMsg());
74             case 1110:
75                 return new ApiAuthParamCodeException(error.getErrorMsg());
76             case 1111:
77                 return new ApiAuthParamPasswordException(error.getErrorMsg());
78             case 600:
79                 return new ApiAdsPermissionException(error.getErrorMsg());
80             case 1112:
81                 return new ApiAuthDelayException(error.getErrorMsg());
82             case 601:
83                 return new ApiWeightedFloodException(error.getErrorMsg());
84             case 602:
85                 return new ApiAdsPartialSuccessException(error.getErrorMsg());
86             case 603:
87                 return new ApiAdsSpecificException(error.getErrorMsg());
88             case 604:
89                 return new ApiAdsParamDomainInvalidException(error.getErrorMsg());
90             case 605:
91                 return new ApiAdsParamDomainForbiddenException(error.getErrorMsg());
92             case 606:
93                 return new ApiAdsParamDomainReservedException(error.getErrorMsg());
94             case 607:
95                 return new ApiAdsParamDomainOccupiedException(error.getErrorMsg());
96             case 608:
97                 return new ApiAdsParamDomainActiveException(error.getErrorMsg());
98             case 609:
99                 return new ApiAdsParamDomainAppInvalidException(error.getErrorMsg());
100             case 610:
101                 return new ApiAdsParamDomainAppForbiddenException(error.getErrorMsg());
102             case 611:
103                 return new ApiAdsAppNotVerifiedException(error.getErrorMsg());
104             case 100:
105                 return new ApiParamException(error.getErrorMsg());
106             case 612:
107                 return new ApiAppNotInSiteDomainsException(error.getErrorMsg());
108             case 101:
109                 return new ApiParamApiIdException(error.getErrorMsg());
110             case 613:
111                 return new ApiAdsAppBlockedException(error.getErrorMsg());
112             case 103:
113                 return new ApiLimitsException(error.getErrorMsg());
114             case 104:
115                 return new ApiNotFoundException(error.getErrorMsg());
116             case 105:
117                 return new ApiSaveFileException(error.getErrorMsg());
118             case 106:
119                 return new ApiActionFailedException(error.getErrorMsg());
120             case 113:
121                 return new ApiParamUserIdException(error.getErrorMsg());
122             case 114:
123                 return new ApiParamAlbumIdException(error.getErrorMsg());
124             case 118:
125                 return new ApiParamServerException(error.getErrorMsg());
126             case 119:
127                 return new ApiParamTitleException(error.getErrorMsg());
128             case 1400:
129                 return new ApiMarketRestoreTooLateException(error.getErrorMsg());
130             case 121:
131                 return new ApiParamHashException(error.getErrorMsg());
132             case 1401:
133                 return new ApiMarketCommentsClosedException(error.getErrorMsg());
134             case 122:
135                 return new ApiParamPhotosException(error.getErrorMsg());
136             case 1402:
137                 return new ApiMarketAlbumNotFoundException(error.getErrorMsg());
138             case 123:
139                 return new ApiParamAudioException(error.getErrorMsg());
140             case 1403:
141                 return new ApiMarketItemNotFoundException(error.getErrorMsg());
142             case 1404:
143                 return new ApiMarketItemAlreadyAddedException(error.getErrorMsg());
144             case 125:
145                 return new ApiParamGroupIdException(error.getErrorMsg());
146             case 1405:
147                 return new ApiMarketTooManyItemsException(error.getErrorMsg());
148             case 1150:
149                 return new ApiParamDocIdException(error.getErrorMsg());
150             case 1406:
151                 return new ApiMarketTooManyItemsInAlbumException(error.getErrorMsg());
152             case 1151:
153                 return new ApiParamDocDeleteAccessException(error.getErrorMsg());
154             case 1407:
155                 return new ApiMarketTooManyAlbumsException(error.getErrorMsg());
156             case 1152:
157                 return new ApiParamDocTitleException(error.getErrorMsg());
158             case 129:
159                 return new ApiParamPhotoException(error.getErrorMsg());
160             case 1153:
161                 return new ApiParamDocAccessException(error.getErrorMsg());
162             case 900:
163                 return new ApiMessagesUserBlockedException(error.getErrorMsg());
164             case 901:
165                 return new ApiMessagesDenySendException(error.getErrorMsg());
166             case 902:
167                 return new ApiMessagesPrivacyException(error.getErrorMsg());
168             case 1160:
169                 return new ApiPhotoChangedException(error.getErrorMsg());
170             case 140:
171                 return new ApiParamPageIdException(error.getErrorMsg());
172             case 141:
173                 return new ApiAccessPageException(error.getErrorMsg());
174             case 146:
175                 return new ApiMobileNotActivatedException(error.getErrorMsg());
176             case 1170:
177                 return new ApiTooManyListsException(error.getErrorMsg());
178             case 147:
179                 return new ApiInsufficientFundsException(error.getErrorMsg());
180             case 148:
181                 return new ApiAccessMenuException(error.getErrorMsg());
182             case 150:
183                 return new ApiParamTimestampException(error.getErrorMsg());
184             case 171:
185                 return new ApiFriendsListIdException(error.getErrorMsg());
186             case 173:
187                 return new ApiFriendsListLimitException(error.getErrorMsg());
188             case 174:
189                 return new ApiFriendsAddYourselfException(error.getErrorMsg());
190             case 175:
191                 return new ApiFriendsAddInEnemyException(error.getErrorMsg());
192             case 176:
193                 return new ApiFriendsAddEnemyException(error.getErrorMsg());
194             case 180:
195                 return new ApiParamNoteIdException(error.getErrorMsg());
196             case 181:
197                 return new ApiAccessNoteException(error.getErrorMsg());
198             case 182:
199                 return new ApiAccessNoteCommentException(error.getErrorMsg());
200             case 183:
201                 return new ApiAccessCommentException(error.getErrorMsg());
202             case 700:
203                 return new ApiGroupChangeCreatorException(error.getErrorMsg());
204             case 701:
205                 return new ApiGroupNotInClubException(error.getErrorMsg());
206             case 702:
207                 return new ApiGroupTooManyOfficersException(error.getErrorMsg());
208             case 190:
209                 return new ApiSameCheckinException(error.getErrorMsg());
210             case 191:
211                 return new ApiAccessCheckinException(error.getErrorMsg());
212             case 200:
213                 return new ApiAccessAlbumException(error.getErrorMsg());
214             case 201:
215                 return new ApiAccessAudioException(error.getErrorMsg());
216             case 203:
217                 return new ApiAccessGroupException(error.getErrorMsg());
218             case 204:
219                 return new ApiAccessVideoException(error.getErrorMsg());
220             case 205:
221                 return new ApiAccessMarketException(error.getErrorMsg());
222             case 210:
223                 return new ApiWallAccessPostException(error.getErrorMsg());
224             case 211:
225                 return new ApiWallAccessCommentException(error.getErrorMsg());
226             case 212:
227                 return new ApiWallAccessRepliesException(error.getErrorMsg());
228             case 213:
229                 return new ApiWallAccessAddReplyException(error.getErrorMsg());
230             case 214:
231                 return new ApiWallAddPostException(error.getErrorMsg());
232             case 219:
233                 return new ApiWallAdsPublishedException(error.getErrorMsg());
234             case 220:
235                 return new ApiWallTooManyRecipientsException(error.getErrorMsg());
236             case 221:
237                 return new ApiStatusNoAudioException(error.getErrorMsg());
238             case 222:
239                 return new ApiWallLinksForbiddenException(error.getErrorMsg());
240             case 1251:
241                 return new ApiAppsAlreadyUnlockedException(error.getErrorMsg());
242             case 1000:
243                 return new ApiParamPhoneException(error.getErrorMsg());
244             case 1004:
245                 return new ApiPhoneAlreadyUsedException(error.getErrorMsg());
246             case 1260:
247                 return new ApiInvalidAddressException(error.getErrorMsg());
248             case 500:
249                 return new ApiVotesPermissionException(error.getErrorMsg());
250             case 503:
251                 return new ApiVotesException(error.getErrorMsg());
252             case 250:
253                 return new ApiPollsAccessException(error.getErrorMsg());
254             case 251:
255                 return new ApiPollsPollIdException(error.getErrorMsg());
256             case 252:
257                 return new ApiPollsAnswerIdException(error.getErrorMsg());*/
258             default:
259                 return new ApiException(error.errorCode, error.errorMsg);
260         }
261     }
262 }