Bir şey döndüren veya bir hata atan bir dizi işlevim var. Bir ana işlevde, bunların her birini çağırırım ve her işlevin döndürdüğü değeri döndürmek veya ilk işlev bir hata atarsa ikinci işleve geçmek isterim.
Yani temelde şu anda sahip olduğum şey:
function testAll() {
try { return func1(); } catch(e) {}
try { return func2(); } catch(e) {} // If func1 throws error, try func2
try { return func3(); } catch(e) {} // If func2 throws error, try func3
}
Ama aslında sadece try
onu iade etmek istiyorum (yani bir hata oluşturmazsa). Bloğa ihtiyacım yok catch
. Ancak, try {}
(kullanılmayan) bir catch {}
bloğu eksik olduğu için kod gibi başarısız olur .
Ben koymak jsFiddle üzerinde bir örnek .
Peki, catch
aynı etkiyi elde ederken bu blokları kaldırmanın bir yolu var mı?
null
ve şöyle bir şey yaparsınızreturn func1() || func2() || func3();