iPhone: NSURLErrorDomain Code=-1002


iPhone: NSURLErrorDomain Code=-1002

เมื่อกี้ใส่ URL ผิดไปนิดเดียวทำให้เราเห็นเออเรอ ตัวนี้มาครับ มันคือ NSURLErrorDomain Code=-1002 ซึ่งมีหน้าตาอย่างตัวอย่างด้านล่างนี้

Error Domain=NSURLErrorDomain Code=-1002 “unsupported URL” UserInfo=0x1b5c60 {NSErrorFailingURLStringKey=sarakham2011/xplog/upload.php, NSErrorFailingURLKey=sarakham2011/xplog/upload.php, NSLocalizedDescription=unsupported URL, NSUnderlyingError=0x3984460 “unsupported URL”}

สาเหตุ

NSErrorFailingURLStringKey=sarakham2011/xplog/upload.php
NSErrorFailingURLKey=sarakham2011/xplog/upload.php

คือเขียน URL ไม่ครบ หรือ URL ผิดพลาดไม่มี URL ที่ใส่เข้าไป เรามาดูวิธีการแก้ไขกัน

แก้ไข

ใส่ URL ให้ครบรูปแบบคือ http://www.yourdomain.com/sarakham2011/xplog/upload.php

เท่านี้ก็เรียบร้อย ซึ่งปัญหานี้หากอ่านดูเออเรอโค้ดจากที่เรา NSLog ค่า NSError ดูจะเห็นและจะแก้ไขได้ถูกต้องนะครับ

แต่หากเราไม่ NSLog ดูค่า Error เราก้อจะไม่พบอะไรแล้วโปรแกรมก็ไม่ทำงานตามที่เราวางเอาไว้

ดังนั้นหากพบฟังก์ชั่นไหนมี NSError ที่เป็นพารามิเตอร์ให้ใส่เข้าไปด้วยนะครับ

ตัวอย่างการใส่ NSError


NSError *error; //สร้างตัวแปร NSError

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];

NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

 

NSLog(@"returnString:%@",returnString);

NSLog(@"error: %@",error);// ปริ้นเออเรอออกมาดู

จากโค้ดด้านบน เป็นตัวอย่างการใช้งาน NSError อย่างง่ายๆ นะครับ คือ

  • การประกาศตัวแปรก่อน ดัวย NSError *err;
  • แล้วไปเรียกใช้ใส่เป็นพารามิเตอร์ ด้วย &err เนื่องจากค่าเออเรอที่เกิดขึ้นจะถูกนำไปเก็บไว้ในตัวแปร err เพราะเป็นตัวแปรแบบ reference
  • การปริ้นค่าแบบง่ายโดยใช้ NSLog ด้วย NSLog(@”error: %@”,error);

เท่านี้เราก้อจะเห็นค่าที่เกิดเออเรอจากการเชื่อมต่อเว็บแล้ว หากมันเกิดเออเรอขึ้นมานะครับ

adaydesign :)

About adaydesign

นักพัฒนาแอพพลิเคชั่นบนโมบาย [iPhone Android] คนหนึ่งซึ่งอยากจะบันทึกเรื่องราวของเส้นทางนักพัฒนาโมบายแอพพลิเคชั่นเอาไว้ในบล็อคน้อยๆ แห่งนี้ เผื่อจะแบ่งบันและแลกเปลี่ยนความรู้ให้กับคนอื่นๆ ได้บ้าง :) Mobile Application Developer; Flash Mobile, iPhone/iPad, Android Mobile Phone/Tablet and Blackberry Playbook.

Posted on มิถุนายน 7, 2011, in [Dev] iOS and tagged , , , . Bookmark the permalink. ใส่ความเห็น.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: