Tag: nsexception

UIWebView抛出NSUnknownKeyException iPad

我有一个标签栏应用程序。 一切工作正常,我可以切换标签罚款和一切,除非切换到我的第二个选项卡ProductViewClass视图不更新,它吐出了下面的控制台输出。 除了一个UIWebView和一个UILabel之外,我在这个视图中没有任何东西。 当我删除UIWebView它成功运行,当我添加另一个它仍然工作。 当我将文件所有者的IBOutlet连接到UIWebView时,它只会停止工作。 除了合成和发布产品productWebView之外, ProductWebView.m唯一的非模板代码是这样的: NSString *urlString = @"http://www.google.com/"; NSURL *theURL = [NSURL URLWithString:urlString]; NSURLRequest *urlRequest = [NSURLRequest requestWithURL:theURL]; [productWebView loadRequest:urlRequest]; NSLog(@"Google loaded"); ProductWebView.h的全部内容如下所示: #import <UIKit/UIKit.h> @interface ProductViewClass : UIViewController { IBOutlet UIWebView *productWebView; } @property(nonatomic, retain) UIWebView *productWebView; @end 这是控制台输出: This GDB was configured as "x86_64-apple-darwin".Attaching to process 52523. 2011-01-30 19:18:28.907 FairCom[52523:40b] […]

从IntPtr创buildNSException

我指的是这个post : private static void MyUncaughtExceptionHandler(IntPtr exception) { // this is not working because NSException(IntPtr) is a protected constructor var e = new NSException(exception); // … } 我如何在这里创build一个exception? 我应该这样做吗? NSException exception = (NSException)ObjCRuntime.Runtime.GetNSObject(handle);

我怎么知道哪些代码行导致我的iOS应用程序在Xcode 9中崩溃

我在Xcode 9(Swift 4)中构build一个应用程序,甚至在完全加载之前崩溃。 我得到一个错误: Thread 1: Signal SIGABRT和libc++abi.dylib: terminating with uncaught exception of type NSException 。 我怎么知道哪一行代码是使用断点和debugging导致错误? 任何帮助,将不胜感激。 谢谢! (这里也是一个截图)

为多个文件下载添加子进度

我在我的项目中使用AFNetworking 3.0下载多个文件。 我想显示所有文件的单一下载进度。 我将每个文件下载的每个subprocess添加到父进程。 但它不工作,应用程序崩溃。 我收到错误 – Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '<DownloadManager: 0x7f92e2f6e130>: An -observeValueForKeyPath:ofObject:change:context: message was received but not handled. Key path: fractionCompleted 这是我的下载类 – @interface DownloadManager () @property (nonatomic, strong) NSProgress *progress; @property (nonatomic, strong) Settings *settings; @property (nonatomic, strong) DocumentDirectory *documentDirectory; @end @implementation DownloadManager – (instancetype)init { self […]

libc abi.dylib:以NSException CollectionViewtypes的未捕获exception终止

当我运行我的应用程序,我收到这个错误: 2014-08-11 10:52:10.546 ControlViewTest [918:60b] – [UIViewController collectionView:numberOfItemsInSection:]:无法识别的select器发送到实例0x8c862f0 2014-08-11 10:52:10.605 ControlViewTest [918:60b] *由于未捕获exception'NSInvalidArgumentException',原因:' – [UIViewController collectionView:numberOfItemsInSection:]:无法识别的select器发送到实例0x8c862f0' *首先掷出调用堆栈: ( 0 CoreFoundation 0x017ec1e4 exceptionPreprocess + 180 1 libobjc.A.dylib 0x0156b8e5 objc_exception_throw + 44 2 CoreFoundation 0x01889243 – [NSObject(NSObject)doesNotRecognizeSelector:] + 275 3 CoreFoundation 0x017dc50b ___forwarding_ + 1019 4 CoreFoundation 0x017dc0ee _CF_forwarding_prep_0 + 14 5 UIKit 0x008b0c34 – [UICollectionViewData _updateItemCounts] […]

如何在使用Objective C发生崩溃时获取行号,方法名称和类名称

我正在开发一个应用程序,我必须跟踪崩溃。 有一个限制,我不能使用Twitter的Fabric架构等第三方来处理崩溃logging。 目前我只能得到崩溃的原因。 我无法得到确切的崩溃点。 我在做什么: 在我的应用程序委托的didFinishLaunchingWithOptions方法我做了我自己的exception处理程序: NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); uncaughtExceptionHandler —- void uncaughtExceptionHandler(NSException *exception) { NSLog(@"CRASH: %@", exception); NSLog(@"callStackSymbols: %@", [exception callStackSymbols]); NSLog(@"callStackReturnAddresses: %@", [exception callStackReturnAddresses]); NSLog(@"reason: %@", [exception reason]); NSLog(@"name: %@", [exception name]); NSLog(@"%s %d %s %s", __FILE__, __LINE__, __PRETTY_FUNCTION__, __FUNCTION__); // Internal error reporting } 我用viewDidLoad方法崩溃了我的应用程序: NSArray *myary; myary = [NSArray arrayWithObjects:@"sad", nil]; NSString *str […]

整个应用程序中的exception处理

我对iPhone中的exception处理有一些怀疑。 他们是: 假设我有一个接一个被调用的方法链,也就是方法A调用方法B,方法B又调用方法C,调用方法D.哪一个放置我的try-catch块是最好的地方是方法A还是B还是C或D还是全部)。 此外,我需要显示一个警告给用户,发生exception,然后,我想logging这个exception到我的服务器。 所以,如果我在所有这些方法中写入try-catch块,并且在方法D中发生exception, 那么我认为这个alert会显示4次,logging的web服务也会被调用4次(直到控件到达方法A的catch块)。 所以,我应该只使用@throw; 在方法B,C和D的catch块中,在方法A的catch块中写入我的逻辑(顶层方法),还是应该避免在方法B,C和D中写入try-catch。 我需要一些来自exception的错误代码(因为我的Web服务需要参数错误代码和描述)。 是否有可能将exception转换为错误,或者是否需要对此代码进行硬编码? 我曾经读过关于NSSetUncaughtExceptionHandler的地方。 我认为,如果我可以设置此处理程序(在应用程序委托的appDidFinishLaunching方法中)和处理程序方法中,如果我向用户显示一些警报并调用Web服务; 那么我不需要在每个类的每个方法中都写try – catch块。 我对吗?? 如果发生exception,而且我写了try-catch块或NSSetUncaughtExceptionHandler,那么我的应用程序将继续运行,否则它将不会响应任何用户事件。 (我相信它会处理崩溃,我想知道的是它是否会挂起) 有人请赐教我这个例外的主题。

不能从块添加对象到NSMutableArray

我有一种感觉,那就是我的问题真的是阻塞,但也许是另一回事。 我正在尝试将地址转换为地址,并将坐标放置到数组中以便稍后使用。 当我尝试调用我尝试添加到块中数组的对象之一时,会在底部产生exception。 在任何NSLogs在块文本内打印出来之前,exception也会被触发。 什么是正确的方法来处理这个? 谢谢。 – (NSMutableArray *)convertAddressToGeocode:(NSString *)addressString { //return array with lat/lng __block NSMutableArray *coordinates = [[NSMutableArray alloc] initWithCapacity:0]; CLGeocoder *geocoder = [[CLGeocoder alloc] init]; [geocoder geocodeAddressString:addressString completionHandler:^ (NSArray* placemarks, NSError* error) { for (CLPlacemark* aPlacemark in placemarks) { // Process the placemark. if (error){ NSLog(@"Geocode failed with error: %@", error); [self […]

iphone – 试试看,问题

我有一个方法,有几个部分,可以抛出一个exception。 如果其中一个部件失效,我希望清洗方法运行。 我正在考虑使用try / catch指令。 我的问题是:我将不得不使用一个指令的每一行代码,可以抛出一个exception,或者我可以简单地包括在这样的块的整个方法? @try { [self doStuff]; // doStuff has several passages that could throw an exception } @catch (NSException * e) { [self cleanTheWholeThing]; } 在这种情况下,哪一行产生问题对我来说并不重要。 我只需要方法运行成功或做其他的东西,以防万一失败。 谢谢

如何用断点导航器中的定义replaceNSUncaughtExceptionHandler?

到目前为止,我在代码中使用了NSUncaughtExceptionHandler : void uncaughtExceptionHandler(NSException *exception) { NSLog(@"*************************************************"); NSLog(@"CRASH: %@", exception); NSLog(@"Stack Trace: %@", [exception callStackSymbols]); NSLog(@"*************************************************"); } NSUncaughtExceptionHandler *exceptionHandlerPtr = &uncaughtExceptionHandler; 我知道,在Xcode中,我可以为所有例外添加exception断点 : 然后我可以编辑断点 : 最后我不知道如何configuration这个从NSUncaughtExceptionHandlerreplace我的代码。