Yineleyici bloklarından birinde bir istisna oluştuğunda, verim oluşturucunun bir sonraki öğeye devam etmesini sağlamak için herhangi bir yol var mı?Bir getiri yaratmanın herhangi bir yolu var Iterator Bir İstisna üzerine sonraki maddeye devam et?
Bu, şu anda çalışmıyor:
Boolean result;
while (true)
{
try
{
result = enumerator.MoveNext(); //Taken from a yield created enumerable
if (!result) break;
}
catch (Exception ex)
{
Console.WriteLine("CATCHED...");
continue;
}
}
adresten kontrol edin belirtmek, bildirmek. –
Yani bir adım ilerlemenin bir yolu yok mu? Olmalı. – aattia
@aattia, MoveNext yöntemi bir adım ilerletmenin yoludur. Diğer kod, bunun bir istisna atarak gerçekleşmesini engeller. Bir istisna atar bir numaralayıcı, IEnumerable kullanımlarının% 99'u tarafından kullanılamayacağı için temel olarak kırılır. "Yineleyici zaten bozuksa, lütfen yine de adım atınız" yazan bir yöntem eklemenin çok az değeri vardır. – JaredPar