Что вызывает EXC_CRASH в исключении @throws? - PullRequest
0 голосов
/ 07 июля 2011

Наша специальная программа аварийно завершает работу на одном из наших клиентских устройств, что уже обозначено символом.

Интересно, что строка, в которой происходит сбой (строка 9 - SocketIncomingMessageRouter read__) в источнике, является оператором @throws.

Это не дает много информации о причине сбоя. Есть идеи?

Exception Type:  EXC_CRASH (SIGABRT)

Thread 8 Crashed:
0   libsystem_kernel.dylib        0x35ddca1c 0x35dcb000 + 72220
1   libsystem_c.dylib             0x35eb33b4 0x35e80000 + 209844
2   libsystem_c.dylib             0x35eabbf8 0x35e80000 + 179192
3   libstdc++.6.dylib             0x35e75a64 0x35e31000 + 281188
4   libobjc.A.dylib               0x34cea06c 0x34ce4000 + 24684
5   libstdc++.6.dylib             0x35e73e36 0x35e31000 + 273974
6   libstdc++.6.dylib             0x35e73e8a 0x35e31000 + 274058
7   libstdc++.6.dylib             0x35e73f5a 0x35e31000 + 274266
8   libobjc.A.dylib               0x34ce8c84 0x34ce4000 + 19588
9   TestAP                        0x00148804 -[SocketIncomingMessageRouter read__] (SocketIncomingMessageRouter.m:171)
10  TestAP                        0x001464b8 -[SocketConnectionManager readUntilDisconnected__] (SocketConnectionManager.m:359)
11  TestAP                        0x00146584 -[SocketConnectionManager connectAndRead__LoginHandler:] (SocketConnectionManager.m:128)
12  TestAP                        0x000f2c0c -[SessionThread run__] (SessionThread.m:148)
13  TestAP                        0x000b64a0 -[Thread threadCallback:] (Thread.m:86)
14  Foundation                    0x34a1d382 0x34a00000 + 119682
15  Foundation                    0x34a8f5c6 0x34a00000 + 587206
16  libsystem_c.dylib             0x35eb330a 0x35e80000 + 209674
17  libsystem_c.dylib             0x35eb4bb4 0x35e80000 + 215988

1 Ответ

0 голосов
/ 07 июля 2011

Если у вас нет кода для перехвата генерируемого исключения, ваше приложение будет аварийно завершено.

Где-то выше в стеке вызовов, в вашем коде должен быть блок @catch для перехватаисключение и обработать его.

...