@try 未能捕捉到 EXC_I386_GPFLT?
@try fails to catch EXC_I386_GPFLT?
我有一个简单的 NSLogv 包装器。它工作正常,除非在格式字符串中有太多占位符时抛出异常。我想捕获那个异常,但是这个 @try
块不起作用。为什么?
- (void)error:(NSString *)formatString, ...;
{
@try {
va_list arglist;
va_start(arglist, formatString);
formatString = [NSString stringWithFormat:@"ERROR: %@", formatString];
NSLogv(formatString, arglist);
va_end(arglist);
}
@catch (NSException *exception) {
// Handle exception ...
}
}
下面是一个抛出异常的例子:
[[MYLogger error:@"%@ %@", value];
@try 捕获异常。您正在尝试捕捉信号。
我的建议:甚至不要尝试。
我有一个简单的 NSLogv 包装器。它工作正常,除非在格式字符串中有太多占位符时抛出异常。我想捕获那个异常,但是这个 @try
块不起作用。为什么?
- (void)error:(NSString *)formatString, ...;
{
@try {
va_list arglist;
va_start(arglist, formatString);
formatString = [NSString stringWithFormat:@"ERROR: %@", formatString];
NSLogv(formatString, arglist);
va_end(arglist);
}
@catch (NSException *exception) {
// Handle exception ...
}
}
下面是一个抛出异常的例子:
[[MYLogger error:@"%@ %@", value];
@try 捕获异常。您正在尝试捕捉信号。
我的建议:甚至不要尝试。