Criando uma classe concreta e sem herança, podemos utilizá-la como exceção com o comando throw
                e também no bloco catch. 
            
            Sintaxe A
            class minha_excecao
{
    //corpo omitido
}
            Onde
            -
            Exemplo 1
            
#include <iostream>
#include <exception>
#include <stdexcept>
using namespace std;
class minha_excecao { //sem mensagem de erro customizada
};   
int main()
{
    try 
    {
        throw minha_excecao(); //lançando exceção
    }
    catch(minha_excecao me){
       cout << "Ocorreu um erro" << endl;
    }
    return 0;
}
            Saída
            
Ocorreu um erro
            
                A adição de métodos, atributos e construtores em nossas exceções customizadas é feita da mesma forma vista 
                em C++: POO. 
            
            Exemplo 2
            using namespace std;
class minha_excecao {
    private: 
            string msg;
            int id;
    
    public: 
    
    string mensagem()
    {
          //omitido     
    }
};
            
                Após a declaração dos atributos e métodos necessários, declaramos um método construtor que irá auxiliar 
                a iniciar um objeto do tipo de nossa exceção.
            
            Exemplo 3
            class minha_excecao {
    
    //atributos e métodos omitidos
    
    minha_excecao(string _msg, int _id){
        this->msg = _msg;
        this->id = _id;
    }
};
            
                Abaixo, o exemplo final contendo os trechos de código acima mostrados:
            
            Exemplo 4
            #include <iostream>
#include <exception>
#include <stdexcept>
using namespace std;
class minha_excecao {
    private: 
            string msg;
            int id;
    
    public: 
    
    string mensagem(){
        return to_string(id) + "\n" + msg ;
    }
    
    minha_excecao(string _msg, int _id){
        this->msg = _msg;
        this->id = _id;
    }
};   
int main()
{
    try 
    {
        throw minha_excecao("meu erro customizado",777);
    }
    catch(minha_excecao me)
    {
       cout << me.mensagem() << endl;
    }
    return 0;
}
            Saída
            
777
meu erro customizado