Hi Nannu,
I have a similar situation in one of my applications too:
Our approach is proactively to check if the token expired before calling the API.
Like João Marques said:
"When you save the token, you should also save that expiring date time and before you call you to add an if to check if the token has expired."
In my case is JWT token, I used the Action ReadAndValidateToken from the component in Forge.
How to check the expired token?
DiffSeconds(CurrDateTime(), ReadAndValidateTokenWithJsonWebKey.Expiration) < Site.AuthTokenExpirationSpan
I added 5 seconds interval (Site.AuthTokenExpirationSpan) before expiring:

If the token is expired, I will refresh the token. ( you don't need to use the Exception to refresh the token).
Cheers,
Luís