استفاده از ThrowHelper به جای throw new Exception


زمانی که در برنامه می خواهیم خطایی را صادر کنید، معمولا از throw new exception استفاده می کنیم و متن مناسب خطا را درون کلاس exception قرار می دهیم. اما اگر تعداد این صادر کردن خطاها زیاد شود باعث افزایش کد assembly می شود. ....
ادامه مطلب

در پروداکشن به خط خطا نباید اطمینان کرد


چند روز پیش توی یکی از پروژه ها که کار میکردم روش, یک خطای Object reference not set to an instance of an object صادر میشد و خطی که خطا صادر شده بود توی لاگها خط 61 بود. وقتی خط 61 رو چک کردم اصلا امکان خطا وجود نداشت, فقط یک کلاس نمونه سازی شده بود در خط 61. ....
ادامه مطلب

تفاوت throw و throw ex در #C


throw مجددا خطا را صادر میکند با همان StackTrace قبلی. دقیقا خطای صادر شده را مجددا صادر میکند. اما اگر از throw ex استفاده کنید بازم هم همان خطای قبلی را صادر میکند اما با یک تفاوت, StackTrace را ریست میکند!. برای مثال در کد زیر در متد DoSomethig یک عملیات تقسیم بر صفر انجام میدهیم که باعث بروز ....
ادامه مطلب

مدیریت خطاها ( Exception handling ) در Asp.Net Core 3.1


در این قسمت میخواهیم یک Middleware کلی برای مدیریت خطاها در برنامه ایجاد کنیم. یعنی زمانی که خطایی در هر کجا از برنامه رخ داد بتوانیم توسط این Middleware خطا را پیدا کنیم و پیغام مناسب را به کاربر نشان دهیم. نحوه کار این Middleware به این صورت است که در اوله خط میان افزارها ی ....
ادامه مطلب