วันพฤหัสบดีที่ 26 พฤษภาคม พ.ศ. 2554

iPhone: NSURLErrorDomain error -999

iPhone: NSURLErrorDomain error -999
เพื่อนๆ หลายคนคงเคยใช้ UIWebView ใช่มั้ยครับ บางครั้งเวลาที่เราโหลดเว็บจาก url ที่เราใส่เข้าไปไม่ เราจำเป็นต้องเช็คดู error ที่เกิดขึ้นด้วยนะครับ ว่า error ที่เกิดนั้นเป็นอะไร ในบทความนี้จะเสนอ error: NSURLErrorDomain error -999 เออเรอนี้เกิดการการถูกปฏิเสธการโหลดข้อมูลบ้างอย่างจากเว็บ แต่ก็สามารถเปิดเว็บไซต์ดังกล่าวได้ ดังนั้นเราควรจะเช็คและหลีกเลี่ยง error นี่เพื่อแสดงผลเว็บไซต์ได้ตามปกติ



หากเรา NSLog เออเรอนี้ขึ้นมาจะเป็นดังนี้
Error Domain=NSURLErrorDomain Code=-999 "The operation couldn’t be completed. (NSURLErrorDomain error -999.)" UserInfo=0x6231520 {NSErrorFailingURLKey=http://www.visitthailand.or.kr/, NSErrorFailingURLStringKey=http://www.visitthailand.or.kr/}

นั้นคือหมายเลข error -999 นั้นเอง เป็นปกติที่การร้องขอข้อมูลจากเว็บในแต่ละครั้งจะถูกปฏิเสธการส่งข้อมูล แต่อย่างไรก็ตามเออเรอนี้ไม่ทำให้เกิดการเปิดเว็บไซต์ไม่ได้ ดังนั้นเราจึงต้องเช็คเพื่อหลีกเลี่ยงเออเรอ error -999 ด้วยการเช็คที่ code ดังนี้

[sourcecode language="objc"]
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
if (error.code != -999) {
//... show alert error
}
}
[/sourcecode]

อันนี้เป็นเออเรอเฉพาะ error -999 เท่านั้น แต่หากเป็นเออเรออย่างอื่นเราต้องแจ้งให้ผู้ใช้ทราบด้วยนะครับ


Reference

adaydesign :)

ไม่มีความคิดเห็น:

แสดงความคิดเห็น