2

我有这行代码:

CGContextSelectFont(context, "Courier", [storedTextSize floatValue], kCGEncodingFontSpecific);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetTextPosition(context, 0.0f, round([storedTextSize floatValue] / 4.0f));
CGContextShowText(context, [string UTF8String], strlen([string UTF8String]));

它在 iOS 和 Mac OS 上产生相同的正确结果。令我困惑的是,当我添加一般的“异常断点”时,它会在最后一行(仅在 Mac OS X 上)停止应用程序,并显示“线程 1:断点 1.2”消息。我可以单击“继续执行程序”几次,然后该过程正确完成。

它不会停止 iOS 上的应用程序。如果我禁用它运行的异常断点(看起来很好)。

我不明白这个。这里发生了什么事 ?有没有错误?

4

1 回答 1

2

存在内部错误,但已处理。如果没有向您显示任何消息或错误,您应该假设实现已恢复。您还应该理智地检查您的参数和上下文。你不应该担心它,除非当然异常展开到你的程序中或者给你一个消息或错误(因为一切都被正确显示)。如果异常进入您的程序(来自此 API),您不应尝试捕获或从异常中恢复。如果某些东西确实指定了它可以抛出,以及它会抛出什么,那么您可能会考虑处理它——但 CG 接口并非如此。

于 2012-08-30T17:51:04.343 回答