دسته بندی ها
21:45 1403/10/13
مدیریت خطا اختصاصی در سی شارپ توسط Try و Catch
آیا راهی هست که توسط بلوک try و catch به صورت تخصصی خطاها رو مدیریت کرد. منظورم از تخصصی اینه که می خوام بتونم روی خطاها شرط داشته باشم. مثلا فرض کنید در ورودی اگر سن کاربر بیشتر از 80 بود خطا بده یا اگر به جای عدد رشته وارد شد خطا بده.
دقت کنید می خوام در بلوک try و catch این موارد انجام بشه نه با if های تو در تو
ویرایش شده در پنج شنبه 13 دی 1403 ساعت 23:41:14
مشخصات سوال کننده :
کاربر : pedram_khan
امتیاز کاربر : 277
رتبه کاربر : 6
به این سوال امتیاز بدهید
0
تعداد بازدید این سوال : 648
پاسخ دهنده : saedbfd
23:58 1403/10/13
آشنایی با Exception های اختصاصی بلوک Catch
بله شما می تونید از طریق Exception های اختصاصی که برای بلوک Catch تعریف شده خطاهاتون رو اختصاصی مدیریت کنید. به عنوان مثال کدهای زیر رو دقت کنید :
try
{
int age = Convert.ToInt32(textBox1.Text);
Console.WriteLine($"You are {age} years old");
}
catch (OverflowException ex)
{
//اگر عدد خیلی بزرگی وارد شد وارد این خطا نمایش داده می شود
Console.WriteLine($"age is invalid");
}
catch (FormatException ex)
{
//اگر رشته وارد شد این خطا نمایش داده می شود
Console.WriteLine($"format is invalid");
}
catch (Exception ex)
{
//اگر خطای هندل نشده ای وجود داشت این خطا نمایش داده می شود
Console.WriteLine($"there is an error");
}
همونطوری که ملاحظه می کنید یک بلوک try داریم و سه بلوک catch که در هر بلوک از catch یک حالت خاص از خطا بررسی شده است. بلوک catch آرگومان های زیادی برای مدیریت خطا دارد مانند :
//اگر خطای تقسیم بر صفر رخ داد
catch (DivideByZeroException ex)
//اگر مقداری خارج از محدوده آرایه ثبت یا واکشی شد
catch (IndexOutOfRangeException ex)
//و ...
شما حتی می تونید در بلوک catch از شرط هم استفاده کنید. برای اطلاعات بیشتر لینک زیر رو مطالعه کنید.
آخرین سوالات ثبت شده
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
سوالات مرتبط
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.
 
ورود