0Pricing
C# Academy · Pelajaran

Diagnosis sederhana: pengecualian vs pemeriksaan pengaman

Terapkan pemeriksaan pengaman untuk masukan tidak valid yang diperkirakan, lempar pengecualian untuk keadaan luar biasa, dan gunakan try/catch untuk menangani galat dengan baik.

Diagnosis sederhana: pengecualian vs pemeriksaan pengaman adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C# Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C# Academy mencakup 3 pelajaran total.

Ikhtisar diagnostik

Tujuan: Gunakan pemeriksaan pengaman untuk masalah yang diperkirakan dan pengecualian untuk masalah yang jarang terjadi dan serius.

Contoh pemeriksaan pengaman

Pemeriksaan pengaman mengembalikan status alih-alih melempar pengecualian untuk masukan tidak valid yang umum.

using System;

public class Program
{
  public static bool TryDivide(int a, int b, out int result)
  {
    if (b == 0)
    {
      result = 0;
      return false; // guard check fails
    }
    result = a / b;
    return true;
  }

  public static void Main(string[] args)
  {
    int r;
    bool ok = TryDivide(10, 0, out r);
    Console.WriteLine("ok=" + ok + " result=" + r);
  }
}

Contoh pengecualian

Pengecualian menghentikan eksekusi jika tidak ditangani. Gunakan pengecualian untuk kondisi yang tidak terduga atau serius.

using System;

public class Program
{
  public static int PriceWithTax(int price, int ratePercent)
  {
    if (price < 0)
    {
      throw new ArgumentOutOfRangeException("price");
    }
    if (ratePercent < 0 || ratePercent > 100)
    {
      throw new ArgumentOutOfRangeException("ratePercent");
    }
    return price + (price * ratePercent / 100);
  }

  public static void Main(string[] args)
  {
    try
    {
      int total = PriceWithTax(100, 20);
      Console.WriteLine("Total=" + total);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Error: " + ex.Message);
    }
  }
}

Menggabungkan pemeriksaan dan pengecualian

Gabungkan kedua pendekatan: gunakan pemeriksaan pengaman untuk validasi rutin dan pengecualian untuk keadaan tidak valid.

using System;

public class Program
{
  public static bool TryParsePrice(string text, out int value)
  {
    return int.TryParse(text, out value); // guard check
  }

  public static int GetDiscount(int code)
  {
    if (code < 0) throw new ArgumentException("Invalid code"); // exception
    return 10;
  }

  public static void Main(string[] args)
  {
    int v;
    if (TryParsePrice("123", out v))
    {
      Console.WriteLine("Parsed " + v);
    }

    try
    {
      int d = GetDiscount(-1);
      Console.WriteLine("Discount=" + d);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Error: " + ex.Message);
    }
  }
}

Contoh try/catch

Gunakan try/catch untuk menangani pengecualian dan menjaga program tetap berjalan.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    try
    {
      int x = 10;
      int y = 0;
      int z = x / y; // will throw DivideByZeroException
      Console.WriteLine(z);
    }
    catch (DivideByZeroException ex)
    {
      Console.WriteLine("Cannot divide by zero: " + ex.Message);
    }
  }
}

Kiat

Kiat:

  • Pemeriksaan pengaman mengembalikan nilai bawaan yang aman untuk kasus umum.
  • Pengecualian seharusnya jarang terjadi dan memiliki makna yang jelas.
  • Tangkap hanya pengecualian yang dapat Anda tangani.

Pemeriksaan pengaman atau pengecualian

Pemeriksaan singkat: Kapan sebaiknya Anda memilih pemeriksaan pengaman daripada melempar pengecualian?

Ringkasan

Ringkasan: Gunakan pemeriksaan pengaman untuk masukan tidak valid yang umum, lempar pengecualian untuk keadaan luar biasa, dan tangani dengan try/catch jika pemulihan memungkinkan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Diagnosis sederhana: pengecualian vs pemeriksaan pengaman” gratis?

Ya — teks lengkap “Diagnosis sederhana: pengecualian vs pemeriksaan pengaman” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C# Academy, upgrade ke CoddyKit PRO. Kursus C# Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Diagnosis sederhana: pengecualian vs pemeriksaan pengaman”?

Terapkan pemeriksaan pengaman untuk masukan tidak valid yang diperkirakan, lempar pengecualian untuk keadaan luar biasa, dan gunakan try/catch untuk menangani galat dengan baik. Kamu berlatih C# Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C# Academy?

Tidak diperlukan pengalaman sebelumnya. C# Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.

Berapa lama pelajaran “Diagnosis sederhana: pengecualian vs pemeriksaan pengaman” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C# Academy ini?

Ya. Setiap pelajaran C# Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. if/else, switch (klasik), perulangan: for, while, do, foreach
  2. break/continue; goto (hindari); cakupan; pengecualian vs pemeriksaan pengaman
  3. Diagnosis sederhana: pengecualian vs pemeriksaan pengaman
← Kembali ke C# Academy