Tôi có một số hàm trả về một cái gì đó hoặc tạo ra một lỗi. Trong một hàm chính, tôi gọi từng hàm này và muốn trả về giá trị được trả về bởi mỗi hàm hoặc chuyển sang hàm thứ hai nếu các hàm đầu tiên gặp lỗi.
Vì vậy, về cơ bản những gì tôi hiện có là:
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
}
Nhưng thực ra tôi chỉ trymuốn trả lại nó (tức là nếu nó không gặp lỗi). Tôi không cần catchkhối. Tuy nhiên, mã như try {}không thành công vì nó thiếu một catch {}khối (không sử dụng) .
Tôi đặt một ví dụ trên jsFiddle .
Vì vậy, có cách nào để catchloại bỏ các khối đó trong khi vẫn đạt được hiệu quả tương tự?
nullvà bạn làm điều gì đó giống nhưreturn func1() || func2() || func3();