Menu
CoddyTech

Jenis Exception

Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 24 dari 66.

Di C#, exception dikelompokkan ke dalam berbagai jenis berdasarkan error yang diwakilinya. Memahami jenis-jenis ini membantumu menangani error dengan lebih efektif.

Mari kita lihat jenis exception yang umum:

Class dasar untuk semua exception adalah System.Exception.

try
{
    // Kode yang mungkin menimbulkan pengecualian
}
catch (Exception ex)
{
    // Tangani semua pengecualian
    Console.WriteLine(ex.Message);
}

Beberapa tipe exception yang umum:

ArgumentException: Dilempar ketika sebuah method dipanggil dengan argumen yang tidak valid.

string name = null;
if (name == null)
{
    throw new ArgumentException("Name cannot be null");
}

NullReferenceException: Terjadi saat kamu mencoba mengakses member melalui referensi null.

string text = null;
// Ini akan memunculkan NullReferenceException
int length = text.Length;

IndexOutOfRangeException: Dilempar ketika indeks array berada di luar batas array.

int[] numbers = { 1, 2, 3 };
// Ini akan memunculkan IndexOutOfRangeException
int value = numbers[5];

DivideByZeroException: Terjadi saat membagi bilangan bulat dengan nol.

int result = 10 / 0; // Ini akan memunculkan DivideByZeroException

Kamu dapat menangkap exception tertentu:

try
{
    int[] numbers = { 1, 2, 3 };
    int value = numbers[5];
}
catch (IndexOutOfRangeException ex)
{
    Console.WriteLine("Array index error: " + ex.Message);
}
catch (Exception ex)
{
    Console.WriteLine("General error: " + ex.Message);
}
challenge icon

Tantangan

Mudah

Buat method bernama ProcessArray yang:

  1. Menerima array bilangan bulat dan indeks sebagai parameter
  2. Mencoba mengakses elemen pada indeks yang ditentukan
  3. Mengembalikan nilai elemen jika berhasil
  4. Jika terjadi IndexOutOfRangeException, tangkap error tersebut dan kembalikan -1

Method-mu harus memiliki signature berikut:

public static int ProcessArray(int[] array, int index)

Coba sendiri

using System;

class Program
{
    public static int ProcessArray(int[] array, int index)
    {
        // Tulis kodemu di sini
        return 0;
    }

    static void Main(string[] args)
    {
        // Baca input array
        string input = Console.ReadLine();
        
        // Hapus tanda kurung siku jika ada
        if (input.StartsWith("[") && input.EndsWith("]"))
        {
            input = input.Substring(1, input.Length - 2);
        }
        
        string[] parts = input.Split(',');
        
        int[] array = new int[parts.Length];
        for (int i = 0; i < parts.Length; i++)
        {
            array[i] = int.Parse(parts[i].Trim());
        }
        
        // Baca input index
        int index = int.Parse(Console.ReadLine());
        
        int result = ProcessArray(array, index);
        Console.WriteLine(result);
    }
}
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 C# online