comment obtenir le numéro de ligne d'erreur dans le programme C ++

Je veux gérer les erreurs dans mon programme en c++, j'ai donc créé certaines classes d'exception pour gérer ces erreurs, mais je tiens à préciser à la ligne dans mon programme de l'erreur s'est produite.

J'ai passé LIGNE macro pour le constructeur de ma classe d'exception.

Par exemple:

void f(int i){ //LINE A
  if(i<0)
    throw(OutOfRange("message", __LINE__); //LINE B
}

void main(){

  try{
    f(-6); //LINE C
  }
  catch(const OutOfRange& error){
    //do something
  }

}

Dans cet exemple, je ne peux que vous obtenez la LIGNE B numéro, mais je veux obtenir la LIGNE A et la LIGNE C des nombres.

Une idée, où et comment les utiliser LIGNE macro ??

Grâce.

source d'informationauteur CHAKRI