Dart dilinde Never tipi nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Never tipi, ifadenin asla başarıyla tamamlanmayacağını gösteren bir göstergedir. Bu, ya istisna atan veya sonsuz döngüye giren fonksiyonlar ve metodlar için kullanılır.
Kullanım örnekleri:
-
İstisna atan fonksiyon:
Never _throwError(String message) { // İstisna atar, fonksiyon hiçbir zaman değer döndürmez throw StateError(message); } -
Sonsuz döngü içeren fonksiyon:
Never _infiniteLoop() { // Sonsuz döngüye girer, fonksiyon asla sona ermez while (true) { // Bir şeyler yap } }
Never'in temel avantajı, derleyicinin bu tür fonksiyon veya metod çağrısından sonra gelen kodun ulaşılmaz olduğunu anlamasına yardımcı olmasıdır, bu da potansiyel hataları tespit etmek için statik analiz yapmayı sağlar, örneğin ulaşılmaz kod ve yanlış hata işleme.
void'tan farklı olarak, bu fonksiyonun değer döndürmediğini (ama başarıyla sona erdiğini) belirtirken, Never fonksiyonu asla sona ermeyeceğini gösterir.
// Değer döndürmeyen, başarıyla sona eren fonksiyon
void doSomething() {
print('Bir şeyler yapılıyor');
}
// Asla başarıyla sonaermeyen fonksiyon
Never crashAndBurn() {
throw 'Aman Tanrım!';
}
Never tipi, alt tip (bottom type) olarak adlandırılır ve herhangi bir diğer tipin alt tipidir. Bu, Never döndüren bir fonksiyonun, herhangi bir diğer tipin beklendiği yerlerde kullanılmasına olanak tanır.