0

我正在尝试将控制权从一个 TableViewController 传递给另一个 TableViewController,将其称为“A”,将其称为“B”。即使我启用了“所有异常”,我仍然在第 20 行中捕获: retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate NB 在第 20 行的最右边是“线程 1:断点1.3" 物有所值。

谁能指出我的方向,以帮助我了解导致程序停止的原因?

//
//  main.m
//  some function
//
//  Created by JJW on 3/23/12.
//  Copyright (c) 2012 JJW, LLC. All rights reserved.
//

#import <UIKit/UIKit.h>

#import "AppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
        //return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        int retVal = -1;
        @try 
        {
            retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        }
        @catch (NSException* exception) 
        {
            NSLog(@"Uncaught exception: %@", exception.description);
            NSLog(@"Stack trace: %@", [exception callStackSymbols]);
        }
        return retVal;
    }
}
4

2 回答 2

1

从项目导航器中选择断点选项卡。然后按底部的“+”添加断点。选择添加异常断点。确保检查异常断点,所有异常,抛出中断。

现在,当您运行您的应用程序时,一旦抛出异常,它将停止在原地。这将让你看到你正在打破的那条线。

更新 您可以尝试摆脱 try/catch 语句。我从来没有见过像这样在应用程序主中使用过的。

int main(int argc, char *argv[]) {

    @autoreleasepool {
        int retVal = UIApplicationMain(argc, argv, nil, nil);
        return retVal;
    }
}
于 2012-04-18T15:29:54.003 回答
0

我花了一天时间重新创建整个项目。新的白蚁例外,带有解释性消息。所以我猜这个旧应用程序完全搞砸了。

于 2012-04-19T23:31:09.853 回答