Tag: exception处理

iOS中的例外Handeling

阅读文档并通过Apple示例代码(以及大部分可用的第三方Objective-C代码),我觉得您不应该使用try / catch和“traditional / C”来做exception处理,方法。 最近我正在阅读亚马逊AWS iOS SDK,并注意到他们已经使用了旧的方法。 这对我来说是一种解脱,因为我总是觉得我需要确保在使用别人编写的代码或二进制库(我的意思是Google Analytics二进制文件等)时特别注意这个exception。 我的问题是,是否有任何理由避免iOS上的“传统”exception处理“,或者这不是一个有品位的Objective-C实践?

insertObject:atIndex:iOS6上的exception

我在iOS6上获得以下exception(在具有CoreData的应用程序上): “2012-10-15 10:21:28.952 MyApp [68650:c07] *终止应用程序由于未捕获的exception'NSInvalidArgumentException',原因:'* – [__ NSArrayM insertObject:atIndex:]:对象不能为零*堆栈:(0x28e6012 0x2659e7e 0x2899b6a 0x2899a20 0x1646941 0x1642c67 0x164f846 0x164f908 0x6c540 0x2057e83 0x28a5376 0x28a4e06 0x288ca82 0x288bf44 0x288be1b 0x33967e3 0x3396668 0x15a165c 0x13a22 0x2845)libc ++ abi.dylib:terminate调用抛出exception“ 这在iOS5上不会发生,所以iOS6上发生了一些我不明白的事情。 我在每一个我调用insertObject:atIndex的地方设置一个断点:但是这些不被调用 – 它必须是在这个libc ++ abi.dylib中被调用和崩溃的东西。 有谁知道什么可能是错的? 谢谢

NSInteralInconsistencyException – UIKeyboardLayoutAlignmentView

我在报告中遇到了跟踪崩溃,但我不知道从哪里开始寻找! – 任何帮助表示赞赏。 我没有调用或引用到UIKeyboardLayoutAlignmentView Fatal Exception: NSInternalInconsistencyException The layout constraints still need update after sending -updateConstraints to <_UIKeyboardLayoutAlignmentView: 0x14df2550; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = <CALayer: 0x1603de90>>. _UIKeyboardLayoutAlignmentView or one of its superclasses may have overridden -updateConstraints without calling super. Or, something may have dirtied layout constraints in the middle […]

EXC_BAD_ACCESS自动处理

我试图build立我自己的信号和iOS的未捕获exception处理程序。 要做到这一点,我使用这两个function: NSSetUncaughtExceptionHandler(/*handler*/); 和 signal(/*signal const*/, /*signal handler*/); 我的问题是,我不能让它与EXC_BAD_ACCESS信号工作。 是否有一些信号常量(如SIGABRT,SIGBUS)来捕捉EXC_BAD_ACCESS? 如果不是,我该如何处理? 一些崩溃分析工具(lika PLCrashReporter,Crashlytics等)可以跟踪它…

一种优雅的方式来忽略任何方法抛出的错误

我正在用NSFileManager删除临时文件,如下所示: let fm = NSFileManager() fm.removeItemAtURL(fileURL) // error: "Call can throw but it is not marked with 'try'" 我真的不在乎这个文件是否在那里,而且如果这个文件已经被删除了,那就这样吧。 如果不使用do/catch ,Swift会忽略任何抛出的错误,这将是一个do/catch吗?

'+ entityForName:nil不是合法的NSManagedObjectContext参数 – 核心数据

我已经将所有相关代码添加到App Delegate中,并且可以将其添加到数据模型中,并从applicationDidFinishLaunchingWithOptions中的数据模型中获取。 我的问题是当我试图写入我的视图控制器中的数据模型。 我已经将这个代码添加到头文件中: NSFetchedResultsController *fetchedResultsController; NSManagedObjectContext *managedObjectContext; @property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController; @property (nonatomic, retain) NSManagedObjectContext *managedObjectContext; 而这个代码给我的实现文件: NSManagedObjectContext *context = [self managedObjectContext]; NSManagedObject *model = [NSEntityDescription insertNewObjectForEntityForName:@"Events" inManagedObjectContext:context]; [model setValue:@"Sample Event" forKey:@"eventName"]; NSError *error; if (![context save:&error]) { NSLog(@"Couldn't save: %@", [error localizedDescription]); } 但是,我得到以下错误: 'NSInvalidArgumentException', reason: '+entityForName: nil is not a legal […]

在swift中捕获无效用户input的exception

我正在尝试这是一个计算器的代码。 我如何处理无效的用户input? //解答:将头部桥接到Objective-C // https://github.com/kongtomorrow/TryCatchFinally-Swift 这是同样的问题,但在objc,但我想迅速做到这一点。 捕获NSExpression中的NSInvalidArgumentException 所有我想要显示的是一个消息,如果它不起作用,但现在我得到一个exception,当用户没有input正确的格式。 import Foundation var equation:NSString = "60****2" // This gives a NSInvalidArgumentException', let expr = NSExpression(format: equation) // reason: 'Unable to parse the format string if let result = expr.expressionValueWithObject(nil, context: nil) as? NSNumber { let x = result.doubleValue println(x) } else { println("failed") }