Kotlin Multiplatform Academy · บทเรียน

แมปข้อผิดพลาดเป็นข้อความ UI

เปลี่ยนความล้มเหลวให้เป็นข้อความที่แปลแล้วและเข้าใจง่าย

บทเรียน 3 จาก 413 ขั้นตอน

แมปข้อผิดพลาดเป็นข้อความ UI เป็นบทเรียน Kotlin Multiplatform Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Multiplatform Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน

ข้อผิดพลาดดิบเข้าใจได้ยาก

ผู้ใช้ไม่ควรเห็น SerializationException บนหน้าจอ หน้าที่ของคุณคือแปลงความล้มเหลวทางเทคนิคให้เป็นประโยคที่สงบและเข้าใจได้สำหรับมนุษย์

กำหนดหมวดหมู่ที่เป็นมิตร

จัดกลุ่มความล้มเหลวเป็น ชนิดข้อผิดพลาด เพียงไม่กี่ชนิด เช่น เครือข่าย เซิร์ฟเวอร์ และไม่ทราบสาเหตุ แต่ละชนิดจะแปลงเป็นข้อความที่ชัดเจนหนึ่งข้อความซึ่งแอปแสดงได้

enum class ErrorKind { NETWORK, SERVER, UNKNOWN }

เก็บชนิดไว้ใน Failure

ขยาย Failure ให้เก็บ ErrorKind แทนการเก็บเพียงสตริงดิบ จากนั้นส่วนติดต่อผู้ใช้จะเป็นผู้ตัดสินใจเลือกถ้อยคำ โดยไม่ต้องเชื่อข้อความจากระบบเบื้องหลัง

data class Failure(val kind: ErrorKind) : Result<Nothing>()

แปลงที่ขอบเขต

แปลงข้อยกเว้นเป็น ErrorKind ทันทีที่ดักจับ หลังจากจุดนี้ โค้ดของคุณจะสื่อสารด้วยหมวดหมู่ที่เป็นมิตรและคงที่เท่านั้น

catch (e: IOException) {
  Failure(ErrorKind.NETWORK)
}

การค้นหาข้อความ

เขียน ฟังก์ชัน หนึ่งฟังก์ชันที่เปลี่ยน ErrorKind ให้เป็นข้อความสำหรับแสดงผล เก็บไว้ในโค้ดที่ใช้ร่วมกัน เพื่อให้ทั้งสองแอปใช้ถ้อยคำสำหรับข้อผิดพลาดเหมือนกัน

fun message(k: ErrorKind): String

แปลข้อความตามภาษาท้องถิ่น

แอปจริงจะแปลข้อความ ให้แต่ละแพลตฟอร์ม แปลตามภาษาท้องถิ่นของชนิดข้อผิดพลาด เพื่อให้ชั้นโค้ดที่ใช้ร่วมกันส่งเพียงหมวดหมู่ และส่วนติดต่อผู้ใช้เลือกภาษาเอง

อย่าใส่สตริงไว้ในตรรกะ

กฎของคุณควรส่งคืน ErrorKind ไม่ใช่ประโยคที่เขียนตายตัว ถ้อยคำจึงเปลี่ยนได้ทุกเมื่อโดยไม่ต้องแก้ตรรกะทางธุรกิจ

ชนิดต่างกัน ส่วนติดต่อผู้ใช้ก็ต่างกัน

ข้อผิดพลาดเครือข่ายอาจแสดงปุ่ม ลองใหม่ ขณะที่ข้อผิดพลาดของเซิร์ฟเวอร์แสดงลิงก์ติดต่อฝ่ายสนับสนุน ชนิดข้อผิดพลาดจะกำหนดทั้งข้อความและการกระทำ

ทางเลือกสำรองสำหรับสิ่งที่ไม่ทราบสาเหตุ

ควรมีชนิด UNKNOWN อยู่เสมอ ความล้มเหลวที่ไม่คาดคิดจะได้แสดงข้อความทั่วไปที่สุภาพ แทนที่จะเป็นหน้าจอว่างเปล่าหรือน่าตกใจ

ทดสอบการแปลง

เนื่องจากตัวแปลงไม่มีผลข้างเคียง คุณจึง ทดสอบ ใน commonTest ได้ โดยป้อนข้อยกเว้น ตรวจสอบชนิดที่ได้ และไม่ต้องใช้ส่วนติดต่อผู้ใช้หรืออุปกรณ์

แหล่งความจริงหนึ่งเดียว

ขณะนี้ข้อผิดพลาดเดินทางเป็น ชนิดที่มีการระบุชนิด ตั้งแต่ catch ไปจนถึงหน้าจอ ทำให้ Android และ iOS มีแนวทางที่สอดคล้องและเป็นมิตรสำหรับทุกความล้มเหลว

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ลองพิจารณาว่าชั้นโค้ดที่ใช้ร่วมกันควรเปิดเผยอะไรให้ส่วนติดต่อผู้ใช้

สรุป

คุณจัดหมวดหมู่ความล้มเหลวเป็น ErrorKinds แปลงข้อยกเว้นที่ขอบเขต และให้ส่วนติดต่อผู้ใช้แต่ละส่วนแปลและดำเนินการตามชนิด เพื่อประสบการณ์ที่เป็นมิตร 💬

เริ่มต้นได้ฟรี

เรียนรู้ Kotlin ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “แมปข้อผิดพลาดเป็นข้อความ UI” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “แมปข้อผิดพลาดเป็นข้อความ UI” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Multiplatform Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “แมปข้อผิดพลาดเป็นข้อความ UI”

เปลี่ยนความล้มเหลวให้เป็นข้อความที่แปลแล้วและเข้าใจง่าย คุณปฏิบัติ Kotlin Multiplatform Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Multiplatform Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Multiplatform Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “แมปข้อผิดพลาดเป็นข้อความ UI” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Kotlin Multiplatform Academy นี้ได้ไหม

ได้ บทเรียน Kotlin Multiplatform Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ชนิดผลลัพธ์แบบปิดผนึก
  2. ดักจับข้อผิดพลาดเครือข่ายและการแยกวิเคราะห์
  3. แมปข้อผิดพลาดเป็นข้อความ UI
  4. การลองใหม่และทางเลือกเมื่อออฟไลน์
← กลับไปที่ Kotlin Multiplatform Academy