Özel İstisnalar
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 43 / 59.
Kendi istisna sınıfınızı Exception sınıfını genişleterek oluşturabilirsiniz. Bu, uygulamanızda belirli türdeki hataları işlemek istediğinizde faydalıdır.
Özel bir istisna oluşturmanın yolu şöyle:
public class AgeException extends Exception {
public AgeException(String message) {
super(message);
}
}Ve işte nasıl kullanılacağı:
if (age < 0) {
throw new AgeException("Invalid age: " + age);
}Yukarıdaki kodu age = -5 ile çalıştırdıktan sonra, program şu hatayı fırlatır:
AgeException: Invalid age: -5
Görev
KolayEmailException adında özel bir istisna sınıfı ve bir argüman alan validateEmail adında bir metod oluşturun:
- Doğrulanacak bir String (
email)
Metod, şu mesajlarla özel istisnanızı fırlatmalıdır:
- Eğer email null ise: "Email cannot be null"
- Eğer email boş ise: "Email cannot be empty"
- Eğer email @ içermiyorsa: "Email must contain @"
- Eğer email @'den önce herhangi bir metin içermiyorsa: "Email must have a local part"
- Eğer doğrulama başarılı olursa: "Valid email" döndürün
Kopya kağıdı
Exception sınıfını genişleterek özel istisnalar oluşturun:
public class AgeException extends Exception {
public AgeException(String message) {
super(message);
}
}throw anahtar kelimesini kullanarak özel istisnaları fırlatın:
if (age < 0) {
throw new AgeException("Invalid age: " + age);
}Kendin dene
import java.util.Scanner;
class EmailException extends Exception {
public EmailException(String message) {
super(message);
}
}
public class Main {
public static String validateEmail(String email) throws EmailException {
// Kodunuzu buraya yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String email = scanner.nextLine();
if (email.equals("null")) {
email = null;
}
try {
System.out.println(validateEmail(email));
} catch (EmailException e) {
System.out.println(e.getMessage());
}
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme