0Pricing
Ruby Academy · บทเรียน

การจัดการข้อผิดพลาดด้วย begin และ rescue

ป้องกันโปรแกรมล่มด้วยการดักจับและจัดการข้อผิดพลาดผ่านการจัดการข้อยกเว้น

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

การจัดการข้อผิดพลาดด้วย begin และ rescue

การจัดการข้อผิดพลาดด้วย begin และ rescue

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

ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีใช้ begin และ rescue เพื่อดักจับและจัดการข้อยกเว้น

การจัดการข้อผิดพลาดด้วย begin และ rescue — ภาพประกอบ 1

การใช้ begin และ rescue

การใช้ begin และ rescue

ใช้ begin และ rescue เพื่อดักจับและจัดการข้อผิดพลาด

begin
  puts 10 / 0
rescue ZeroDivisionError
  puts 'Cannot divide by zero!'
end

การจัดการข้อผิดพลาดหลายประเภท

การจัดการข้อผิดพลาดหลายประเภท

คุณสามารถดักจับข้อผิดพลาดประเภทต่าง ๆ ได้โดยใช้บล็อก rescue หลายบล็อก

begin
  num = Integer('hello')
rescue ZeroDivisionError
  puts 'Cannot divide by zero!'
rescue ArgumentError
  puts 'Invalid number format!'
end

การเข้าถึงอ็อบเจ็กต์ข้อยกเว้น

การเข้าถึงอ็อบเจ็กต์ข้อยกเว้น

ใช้ rescue => e เพื่อเข้าถึงอ็อบเจ็กต์ข้อยกเว้น

begin
  puts 10 / 0
rescue ZeroDivisionError => e
  puts "Error: #{e.message}"
end

การใช้ ensure

การใช้ ensure

บล็อก ensure จะทำงานเสมอ ไม่ว่าจะเกิดข้อยกเว้นขึ้นหรือไม่

begin
  puts 10 / 0
rescue ZeroDivisionError
  puts 'Cannot divide by zero!'
ensure
  puts 'This code runs no matter what.'
end

การใช้ retry

การใช้ retry

คีย์เวิร์ด retry จะเริ่มบล็อก begin ใหม่ตั้งแต่ต้น

attempt = 0
begin
  attempt += 1
  puts 10 / 0
rescue ZeroDivisionError
  puts 'Attempting again...'
  retry if attempt < 2
end

การบันทึกข้อผิดพลาด

การบันทึกข้อผิดพลาด

บันทึกข้อผิดพลาดลงในไฟล์แทนการแสดงข้อผิดพลาดให้ผู้ใช้เห็น

begin
  puts 10 / 0
rescue ZeroDivisionError => e
  File.open('error.log', 'a') { |f| f.puts e.message }
end

การแสดงข้อความข้อผิดพลาดแบบกำหนดเอง

การแสดงข้อความข้อผิดพลาดแบบกำหนดเอง

แสดงข้อความข้อผิดพลาดที่เข้าใจง่ายสำหรับผู้ใช้แทนข้อยกเว้นดิบ

begin
  num = Integer('hello')
rescue ArgumentError
  puts 'Oops! That was not a valid number.'
end

ยินดีด้วย!

ยินดีด้วย!

คุณได้เรียนรู้วิธีจัดการข้อผิดพลาดโดยใช้ begin และ rescue แล้ว

ต่อไป คุณจะได้ศึกษาวิธีทำให้เกิดข้อยกเว้นและปรับแต่งข้อยกเว้น

การจัดการข้อผิดพลาดด้วย begin และ rescue — ภาพประกอบ 10

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

บทเรียน “การจัดการข้อผิดพลาดด้วย begin และ rescue” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การจัดการข้อผิดพลาดด้วย begin และ rescue”

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

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

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

บทเรียน “การจัดการข้อผิดพลาดด้วย begin และ rescue” ใช้เวลานานแค่ไหน

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

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

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

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

  1. การจัดการข้อผิดพลาดด้วย begin และ rescue
  2. การยกและปรับแต่งข้อยกเว้น
  3. เทคนิคการแก้ไขข้อบกพร่อง
← กลับไปที่ Ruby Academy