A: 

No. Macros are expanded at the source line where they occur.

Anthony Williams
A: 

You probably can... but definitely not with the restriction you mentioned (no macros).

Ben Voigt
+2  A: 

You can't, but you can acheive this behavior with an additional macro. For instance:

#DEFINE THROW(e) throwException(e, __FILE__, __LINE__);

On a side note, __PRETTY_FUNCTION__ is not standard.

Samuel_xL