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: