log and throw in dot net
I'm not really interested in handling it in the context.


You don't know it yet but you are interested in handling it in a context. Without a context it's as useful as the generic NullReferenceException in .NET. Something happened somewhere but nobody knows where and why.




  is it really bad practice to do this?


Yes it is. The user of your API should take care of logging. You should not force him to log something he might not need or want and most probably he'll log it anyway somewhere else so he'll end up having same exceptions logged multiple times.



If you want to provide a logger for your API then doing it via a decorator would be much better than hardcoding it by inheritance.