Menu
CoddyTech

Apa Itu Exception?

Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 43 dari 56.

Ketika terjadi kesalahan saat program berjalan, seperti membagi dengan nol, mengurai "abc" sebagai integer, atau memanggil method pada nil, Ruby memunculkan pengecualian. Program berhenti, dan Ruby mencetak apa yang terjadi beserta lokasi terjadinya.

10 / 0
# ZeroDivisionError: dibagi dengan 0

Setiap jenis kegagalan memiliki class tersendiri. Beberapa jenis yang umum:

  • ZeroDivisionError: membagi bilangan bulat dengan nol
  • ArgumentError: argumen yang salah diberikan ke method (Integer("abc"))
  • NoMethodError: memanggil method yang tidak dimiliki oleh penerima (nil.upcase)
  • TypeError: operasi pada jenis object yang salah ("a" + 1)

Setiap class exception memiliki .message: deskripsi yang dapat dibaca manusia dan dicetak Ruby saat exception tidak ditangani. Pelajaran berikutnya menunjukkan cara menangkap exception ini agar programmu tetap berjalan.

challenge icon

Tantangan

Pemula

Baca satu baris input, yaitu nama satu ekspresi Ruby. Cetak nama class exception yang akan dimunculkan Ruby untuk ekspresi tersebut. Gunakan pernyataan case (tidak perlu benar-benar memunculkan exception):

  • divide-by-zero → ZeroDivisionError
  • nil-method → NoMethodError
  • bad-integer → ArgumentError
  • wrong-type → TypeError
  • selain itu → Unknown

Untuk input nil-method, outputnya adalah NoMethodError.

Coba sendiri

kind = gets.chomp

# TODO: gunakan case kind ... print nama class exception yang sesuai
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Ruby online