我希望在我的C++程序中处理错误,所以我创建了一些异常类来管理这些错误,但我想指定在程序的哪一行发生了错误。
我将LINE宏传递给我的异常类构造函数。
例如:
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
}
}
在这个例子中,我只能获取线B的编号,但我想获取线A和线C的编号。有什么想法,在哪里以及如何使用LINE宏吗?谢谢。