Exceções personalizada por classe, por método ou outra forma?

Bom dia a todos,

Estou com uma dúvida, adoro trabalhar com exceções e há algum tempo, num projeto pessoal, comecei a criar exceções para cada método das minhas classes que pudessem disparar, estou com uma classe com muitos métodos e também cheia de exceções. Minha dúvida é: nos projetos de qualidade que vocês produzem, veem e utilizam, vocês criam uma exceção para ser utilizada em cada classe, uma exceção para cada método ou criam seguindo outro roteiro?

É minha primeira vez aqui no fórum, participo de outro relacionado a Linux e optei por esse que aparentemente tem foco em Java pela linguagem. Na verdade estou trabalhando com C++ e programo um pouco em Python, estou perguntando aqui porque Java é fortemente orientada a objetos e vocês devem deter mais conhecimento no contato do universo baseado nesse paradigma.

Agradeço a todos que responderem.