В вашей базе кода вы должны выбрать один метод и придерживаться его для согласованности.
Если в вашем коде выбрасываются указатели, а в других библиотеках - объекты, то ваши предложения catch могут немного запутаться, так как вам могут понадобиться перехватчики для указателей и объектов одного типа.
Я лично предпочитаю бросать объекты, а не указатели (основная причина, по которой я выбираю это, а не указатели, состоит в том, что они имитируют стандартную библиотеку). Хотя вполне возможно бросить указатели, вопрос о собственности поднимает свою уродливую голову. Кто (если кто-нибудь) отвечает за удаление указателя?