Different exceptions for RPD and RPM

There should be a way to distinguish between Rate Limit per minute (RPM) and Rate Limit per day (RPD) exception. Currently they both throw the RateLimitError but the two cases need to be handled differently in the program. For the latter, one needs to safely terminate, while for the former, one can sleep and try again. Having different exceptions for these two would be helpful.