แมปข้อผิดพลาดเป็นข้อความ UI
เปลี่ยนความล้มเหลวให้เป็นข้อความที่แปลแล้วและเข้าใจง่าย
แมปข้อผิดพลาดเป็นข้อความ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ชนิดผลลัพธ์แบบปิดผนึก
- ดักจับข้อผิดพลาดเครือข่ายและการแยกวิเคราะห์
- แมปข้อผิดพลาดเป็นข้อความ UI
- การลองใหม่และทางเลือกเมื่อออฟไลน์