在调试程序的过程中,有时候我们只是需要知道这个异常或者错误发生在源程序的哪个文件的哪一行,而不是为每一个可能的异常和错误都定义一个唯一的错误码,错误程序过度膨胀后,也会影响程序的可读性。这里,使用一个简单的宏printLineNumber,即可显示当前所在的行和源文件
#define FILENAME NSString * fileName = [NSString stringWithUTF8String:__FILE__] #define printLineNumber FILENAME ;\ printf("line %d in %s:",__LINE__,[[fileName substringFromIndex:[fileName stringByDeletingLastPathComponent].length + 1] UTF8String])