Back to SDK Reference
Error Handling
Handle various error scenarios with custom error types
AuthError
General authentication errors
class AuthError extends Error
NetworkError
Errors related to network issues
class NetworkError extends Error
ValidationError
Input validation errors
class ValidationError extends Error
TokenError
Token-related errors, such as expired or invalid tokens
class TokenError extends Error
Example Usage
Proper error handling is crucial in providing a good user experience and ensuring the application behaves as expected under different scenarios.
Handling AuthError
import { signIn, AuthError } from 'easyauth';
try {
await signIn({
email: 'user@example.com',
password: 'wrongpassword'
});
} catch (error) {
if (error instanceof AuthError) {
switch (error.code) {
case 'invalid_credentials':
console.error('Invalid email or password');
break;
case 'user_not_found':
console.error('User does not exist');
break;
case 'too_many_attempts':
console.error('Too many failed attempts. Try again later.');
break;
default:
console.error('Authentication failed:', error.message);
}
} else {
console.error('Network error:', error);
}
}
Handling NetworkError
import { getSession, NetworkError } from 'easyauth';
try {
const session = await getSession();
if (session) {
console.log('User:', session.user);
} else {
console.log('No session available');
}
} catch (error) {
if (error instanceof NetworkError) {
console.error('Network error:', error.message);
// Show offline message or retry option
} else {
console.error('Error retrieving session:', error);
}
}
Token Expiry Scenario
import { refreshToken, TokenError } from 'easyauth';
try {
const result = await refreshToken();
if (result.success) {
console.log('Token refreshed successfully');
} else {
console.error('Token refresh failed:', result.message);
}
} catch (error) {
if (error instanceof TokenError) {
console.error('Token error:', error.message);
// Handle token expiry or invalid token scenarios
} else {
console.error('Token refresh failed:', error);
}
}
Next Steps
Now that you understand error handling in EasyAuth, explore other SDK features: