The online Design Guidelines for Exceptions contains the principle advice (see specifically this page).
The book "Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition" has more details and more discussion on this topic.