مدیریت خطا در کد میتواند وضوح و قابلیت اطمینان آن را تحت تاثیر قرار دهد. در حالی که استثناها قدرتمند هستند، استفاده از آنها برای شکستهای تجاری مورد انتظار منجر به کد شلوغ، جریان کنترل پنهان و سربار عملکردی میشود. الگوی Result یک جایگزین تمیزتر ارائه میدهد: صریح کردن موفقیت و شکست در امضاهای متد.
مشکل استفاده از استثناها به عنوان کنترل جریان: در نظر بگیرید که فراخواننده باید به نحوی بداند که UserNotFoundException ممکن است پرتاب شود. این اطلاعات در امضای متد قابل مشاهده نیست و منجر به جریان کنترل پنهان، سربار عملکردی و عدم وضوح در نظر میشود.
الگوی Result: الگوی Result نتیجه یک عملیات را در یک شیء واحد که موفقیت (با داده) یا شکست (با جزئیات خطا) را نشان میدهد، کپسوله میکند. به جای پرتاب استثناها، متدها یک Result را برمیگردانند که فراخواننده باید به طور صریح آن را مدیریت کند.
مشاهده مطلب اصلی