Dart dilinde hata yönetimi, try
, catch
, on
, ve finally
bloklarını kullanarak gerçekleştirilir. İşte temel hata yönetimi yapıları:
try {
// Hata alabilecek kodlar buraya yazılır
int result = 12 ~/ 0; // Bu kod, bir hata üretecek çünkü 0'a bölme yapılmaktadır
print(result); // Bu satır çalıştırılmayacak
} catch (e) {
// Hata yakalandığında çalışacak kodlar buraya yazılır
print('Hata oluştu: $e');
} finally {
// Her durumda çalışacak kodlar buraya yazılır
print('Finally bloğu çalıştı');
}
Bu yapı, try
bloğu içindeki kodlar çalıştırılırken bir hata meydana gelirse, program catch
bloğuna geçer ve hata yakalanır. finally
bloğu ise hata olsun veya olmasın her durumda çalıştırılır. catch
bloğu isteğe bağlıdır, yani hata yakalanması durumunda çalışır.
try {
int result = 12 ~/ 0;
print(result);
} on IntegerDivisionByZeroException {
print('Sıfıra bölme hatası');
} catch (e) {
print('Bilinmeyen bir hata oluştu: $e');
}
Sadece belirli bir hata türünü yakalamak için on
anahtar kelimesini kullanabilirsiniz.
Custom Hata Yakalama:
Kendi tanımladığınız özel hata türlerini yakalamak için:
class CustomException implements Exception {
final String message;
CustomException(this.message);
}
void exampleFunction() {
throw CustomException('Bu bir özel hata!');
}
void main() {
try {
exampleFunction();
} catch (e) {
if (e is CustomException) {
print('Özel hata yakalandı: ${e.message}');
} else {
print('Bilinmeyen bir hata oluştu: $e');
}
}
}
Bu Yazıya Tepkin Ne Oldu ?
YORUMLAR