Exception Kustom
Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 29 dari 66.
Exception kustom memungkinkan kamu membuat tipe exception khusus untuk skenario error yang unik pada aplikasi.
Untuk membuat exception kustom, definisikan class yang mewarisi dari Exception. Pewarisan berarti class barumu otomatis mendapatkan semua perilaku dari class induk, dalam hal ini, Exception, sekaligus memungkinkanmu menambahkan atau menyesuaikan fungsionalitas. Sintaks class MyException : Exception berarti MyException mewarisi Exception.
public class InvalidAgeException : Exception
{
public InvalidAgeException() : base("Age is not valid.")
{
}
public InvalidAgeException(string message) : base(message)
{
}
}: Exception: mewarisi class bawaan Exception.: base(...): memanggil constructor induk Exception untuk menetapkan pesan error.
Constructor pertama menyediakan pesan default jika tidak ada pesan yang diberikan.
Constructor kedua menerima pesan khusus agar pemanggil dapat menjelaskan error secara terperinci.
Sekarang kamu bisa memunculkan exception kustommu saat diperlukan:
int age = -5;
if (age < 0)
{
throw new InvalidAgeException("Age cannot be negative.");
}Saat kode ini dijalankan dengan usia negatif, kode ini akan melempar exception kustom dengan pesan "Usia tidak boleh negatif."
Catatan: Dalam latihan untuk pelajaran ini, fungsi validasi mengembalikan true saat input valid dan melempar exception kustom saat input tidak valid. Karena exception yang tidak ditangani langsung menghentikan eksekusi, kasus uji hanya perlu memverifikasi jalur pengembalian true: exception itu sendiri merupakan hasil yang terlihat untuk input yang tidak valid.
Tantangan
SedangBuat custom exception class bernama InvalidTemperatureException yang mewarisi Exception. Class ini harus memiliki:
- Konstruktor default yang menetapkan pesan "Temperature is not valid."
- Konstruktor yang menerima pesan kustom.
Lalu, implementasikan method bernama checkTemperature yang:
- Menerima parameter integer yang mewakili suhu dalam Celsius
- Melempar
InvalidTemperatureExceptiondengan pesan "Temperature below absolute zero!" jika suhu kurang dari -273 - Mengembalikan true jika suhu valid
Coba sendiri
using System;
class CheckTemperature
{
// Buat class exception khususmu di sini
public static bool checkTemperature(int celsius)
{
// Tulis kodemu di sini
}
}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