Здравствуйте. Правильно ли реализован код отлова ошибок при регистрации, или нужно делать это по другому? Вот код функции (Если не использовать throw, то в catch не приходит ошибка):
export let AuthUser = (userName, password) => async (dispatch) => {
try {
let token = await service.createRequestToken();
let validatedToken = await service.validateRequestToken(userName, password, token.request_token);
if (validatedToken.status_code === 3) {
throw 'Неправильное имя или пароль';
} else if (validatedToken.status_code === 8) {
throw 'Вы совершили слишком много попыток входа, попробуйте позже';
} else if (validatedToken.status_code === 9) {
throw 'Сервер недоступен, попробуйте позже';
} else if (validatedToken.status_code && validatedToken.status_code !== 1) {
throw 'Что-то пошло не так, попробуйте позже';
}
let sessionId = await service.createSessionId(validatedToken.request_token);
dispatch({type: 'SET_SESSION_ID', payload: sessionId});
let userData = await service.getAccountDetails(sessionId.session_id);
dispatch({type: 'SET_USER_DATA', payload: userData});
} catch (err) {
dispatch(stopSubmit("auth", {_error: err}));
}
}
P.S. Меня интересует правильный ли метод я выбрал, а не что-то другое.
Заранее спасибо за помощь.