Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 315025
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T08:15:13+00:00 2026-05-12T08:15:13+00:00

Coming from a Symbian background, I’m somewhat concerned about the seeming lack of error

  • 0

Coming from a Symbian background, I’m somewhat concerned about the seeming lack of error handling in Cocoa. Cocoa has many methods that, as far as I can see, have no error reporting and yet could fail.

Eg How come NSMutableString appendString has a void return type and doesn’t throw exceptions (at least the documentation doesn’t mention any)? Surely if I append a long enough string then theoretically I could run out of memory. Is it paranoid of me to check the length of the NSMutableString before and after appending to verify that the append worked?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T08:15:13+00:00Added an answer on May 12, 2026 at 8:15 am

    My test is on Mac OS X and I imagine you’re talking about the iPhone platform.

    The thing is I fail to see how returning an error from the appendString method would help since the platform is at that point in such a state that it can’t satisfy malloc requests for your process.

    To get around the problem you can probably malloc your own address space and use this process managed memory as storage for your strings. I think Carbon’s CFString (toll free bridged to NSString) allows you to use your own memory allocator.

    #import <Foundation/Foundation.h>
    
    int main (int argc, const char * argv[]) 
    {
        NSAutoreleasePool * pool = [NSAutoreleasePool new];
        NSMutableString * m = [NSMutableString stringWithCapacity:100000];
    
        int i;
        for(i=0;i<1000000;i++)
            [m appendString:@"ABCDE..."]; //1400 characters long
        [pool release];
    }
    
    
    
    cd:tmp diciu$ ./a.out 
    a.out(2216) malloc: *** mmap(size=1220067328) failed (error code=12)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    [..]
    2009-08-13 16:45:44.163 a.out[2216:10b] *** Terminating app due to uncaught exception     'NSMallocException', reason: 'Out of memory. We suggest restarting the application. If you     have an unsaved document, create a backup copy in Finder, then try to save.'
    2009-08-13 16:45:44.165 a.out[2216:10b] Stack: (
        2494541803,
        2485014075,
        2435399864,
        2494157025,
        2494172776,
        2434276628
    )
    Trace/BPT trap
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Coming from a relational database background, as I'm sure many others are, I'm looking
Coming from an Classic ASP background I'm pretty cautious about placing objects into Session.
Coming from a Java and C background, grasping some concepts of Ocaml has been
Coming from a non-Java background to Scala has brought me a wide range of
Coming from a c++ background I'm curious about object assignment in Ruby. What considerations
Coming from a non-web background I'm struggling with cookie uniqueness. When I read and
Coming from a .NET background I'm use to reusing string variables for storage, so
Coming from a PHP background, I'm used to writing small functions that return a
Coming from a C# Background I never used any pointers. I'm creating a vector
Coming from a C++ background, I am finding cloning of objects in C# a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.