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 DivideByZeroExceptionKamu 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);
}Tantangan
MudahBuat method bernama ProcessArray yang:
- Menerima array bilangan bulat dan indeks sebagai parameter
- Mencoba mengakses elemen pada indeks yang ditentukan
- Mengembalikan nilai elemen jika berhasil
- 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);
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1array Multidimensi
Dasar-Dasar array 2DMendeklarasikan dan Menginisialisasi array 2DMengakses Elemen array 2DPerulangan Bersarang dengan array 2Darray BergerigiOperasi Matriks UmumRangkuman: array Multidimensi4Teknik Alur Kontrol
Pengembalian DiniKlausa PenjagaPernyataan Lompatan (goto)Break dan ContinueMeratakan Percabangan Bersarang7Operator Logika Lanjutan
Evaluasi Hubung SingkatOperator Logika PercabanganPrioritas OperatorRingkasan Operator Lanjutan2Pengambilan Keputusan Tingkat Lanjut
Beberapa KondisiLogika Boolean yang KompleksPerbandingan If dan SwitchPernyataan Switch BersarangUlasan: Pengambilan Keputusan Tingkat Lanjut5Penanganan Exception
Dasar Try-CatchJenis ExceptionBeberapa Blok CatchBekerja dengan fileBlok FinallyUsing vs. Try-FinallyException KustomRingkasan: Penanganan error3Peningkatan Loop
Performa LoopIterasi yang KompleksSetiap Jenis LoopRefactoring LoopRangkuman: Loop yang Dioptimalkan6Penanganan Null
Dasar Referensi NullTipe Nilai NullablePola Pemeriksaan NullPemrograman DefensifRingkasan: Keamanan NullLatihan sendiri: Compiler C# online