title: ASIHTTPRequest causes crash after interrupting Internet connection
body: <p>I'm using ASIHTTPRequest to download data from the internet. If I lose my internet connection, and I try to load the data the app crashes.</p>
  
  <p>Code: </p>
  
  <pre><code>- (IBAction)load:(id)sender { 
      if ([act isAnimating]) {
          NSLog(@"Request already being processed!");
      }
      else {
      ASINetworkQueue *queue = [ASINetworkQueue queue];
      ASIHTTPRequest *usdRequest = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://download.finance.yahoo.com/d/quotes.csv?s=CADUSD=X&amp;f=l1"]];
      ASIHTTPRequest *eurRequest = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://download.finance.yahoo.com/d/quotes.csv?s=CADEUR=X&amp;f=l1"]];
      ASIHTTPRequest *dateRequest = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://download.finance.yahoo.com/d/quotes.csv?s=CADEUR=X&amp;f=d1"]];
      ASIHTTPRequest *timeRequest = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://download.finance.yahoo.com/d/quotes.csv?s=CADEUR=X&amp;f=t1"]];
  
      [queue addOperation:usdRequest];
      [queue addOperation:eurRequest];
      [queue addOperation:dateRequest];
      [queue addOperation:timeRequest];
  
      [queue setQueueDidFinishSelector:@selector(parseLoadedData:)];
      [queue setRequestDidFinishSelector:@selector(requestLoaded:)];
      [queue setDelegate:self];
      [queue go];
      [act startAnimating];
      }
  }
  
  - (void)requestLoaded:(ASIHTTPRequest *)request {
       if([[request url] isEqual:[NSURL URLWithString:@"http://download.finance.yahoo.com/d/quotes.csv?s=CADUSD=X&amp;f=l1"]]) {
          usdString = [[request responseString] retain];
      } else if([[request url] isEqual:[NSURL URLWithString:@"http://download.finance.yahoo.com/d/quotes.csv?s=CADEUR=X&amp;f=l1"]]) {
          eurString = [[request responseString] retain];
      } else if([[request url] isEqual:[NSURL URLWithString:@"http://download.finance.yahoo.com/d/quotes.csv?s=CADEUR=X&amp;f=d1"]]) {
          dateString = [[request responseString] retain];
      } else if([[request url] isEqual:[NSURL URLWithString:@"http://download.finance.yahoo.com/d/quotes.csv?s=CADEUR=X&amp;f=t1"]]) {
          timeString = [[request responseString] retain];
  
  }
  }
  
  - (void)parseLoadedData:(ASIHTTPRequest *)request {
      NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
      NSString *Date = [dateString stringByReplacingOccurrencesOfString:@"\"" withString:@""];
      NSString *Time = [timeString stringByReplacingOccurrencesOfString:@"\"" withString:@""];
      NSString *total = [NSString stringWithFormat:@"%@ %@",Date,Time];
  
      if ([eurString length] == 0) {
          test.text = [defaults objectForKey:@"date"];
          eur.text = [defaults objectForKey:@"eur"];
          usd.text = [defaults objectForKey:@"usd"];
  
      } else {
          test.text = total;
          eur.text = eurString;
          usd.text = usdString;
          [defaults setObject:test.text forKey:@"date"];
          [defaults setObject:usd.text forKey:@"usd"];
          [defaults setObject:eur.text forKey:@"eur"];
      }
  
      [defaults synchronize];
      [eurString release];
      [usdString release];
      [dateString release];
      [timeString release];
      [act stopAnimating];
  
  }
  </code></pre>