Remove abort calls

This commit is contained in:
Cameron Gutman
2015-10-31 23:45:37 -07:00
parent 06289ac4d2
commit c36f4c5f84
2 changed files with 10 additions and 32 deletions
+7 -27
View File
@@ -83,10 +83,7 @@ static NSOperationQueue* mainQueue;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext; NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) { if (managedObjectContext != nil) {
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) { if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
// Replace this implementation with code to handle the error appropriately. Log(LOG_E, @"Critical database error: %@, %@", error, [error userInfo]);
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
Log(LOG_E, @"Unresolved error %@, %@", error, [error userInfo]);
abort();
} }
} }
} }
@@ -136,31 +133,14 @@ static NSOperationQueue* mainQueue;
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil]; [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]) { if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]) {
/* // Log the error
Replace this implementation with code to handle the error appropriately. Log(LOG_E, @"Critical database error: %@, %@", error, [error userInfo]);
abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. // Drop the database
[[NSFileManager defaultManager] removeItemAtURL:storeURL error:nil];
Typical reasons for an error here include: // Try again
* The persistent store is not accessible; return [self persistentStoreCoordinator];
* The schema for the persistent store is incompatible with current managed object model.
Check the error message to determine what the actual problem was.
If the persistent store is not accessible, there is typically something wrong with the file path. Often, a file URL is pointing into the application's resources directory instead of a writeable directory.
If you encounter schema incompatibility errors during development, you can reduce their frequency by:
* Simply deleting the existing store:
[[NSFileManager defaultManager] removeItemAtURL:storeURL error:nil]
* Performing automatic lightweight migration by passing the following dictionary as the options parameter:
@{NSMigratePersistentStoresAutomaticallyOption:@YES, NSInferMappingModelAutomaticallyOption:@YES}
Lightweight migration will only work for a limited set of schema changes; consult "Core Data Model Versioning and Data Migration Programming Guide" for details.
*/
Log(LOG_E, @"Unresolved error %@, %@", error, [error userInfo]);
abort();
} }
return _persistentStoreCoordinator; return _persistentStoreCoordinator;
-2
View File
@@ -85,7 +85,6 @@ int mkcert(X509 **x509p, EVP_PKEY **pkeyp, int bits, int serial, int years) {
if (*pkeyp == NULL) { if (*pkeyp == NULL) {
if ((pk=EVP_PKEY_new()) == NULL) { if ((pk=EVP_PKEY_new()) == NULL) {
abort();
return(0); return(0);
} }
} else { } else {
@@ -102,7 +101,6 @@ int mkcert(X509 **x509p, EVP_PKEY **pkeyp, int bits, int serial, int years) {
rsa = RSA_generate_key(bits, RSA_F4, NULL, NULL); rsa = RSA_generate_key(bits, RSA_F4, NULL, NULL);
if (!EVP_PKEY_assign_RSA(pk, rsa)) { if (!EVP_PKEY_assign_RSA(pk, rsa)) {
abort();
goto err; goto err;
} }