آموزش دونه:مرجع آموزش

کنترل خطا در اف شارپ (Fsharp Exception Handling) آموزش زبان برنامه نویسی اف شارپ #F

Fsharp Exception Handling Fsharp Exception Handling Fsharp Exception Handling Fsharp Exception Handling 

اف شارپ

کنترل خطا یا Exception Handling در #F

exception مشکلی است که در هنگام اجرای یک برنامه رخ می دهد. مانند تلاش برای تقسیم بر صفر.

exception راهی برای انتقال کنترل از یک قسمت از یک برنامه به قسمت دیگر را ارائه می دهد.

مدیریت exception در #F ساختارهای زیر را فراهم می کند.( کنترل خطا یا Exception Handling در #F )

ساختتوضیحات
raise exprexception داده شده را اعلام می کند .
failwith exprSystem.Exception exception را اعلام می کند.
try expr with rulesگرفتن عبارات مطابق با قوانین الگو
try expr finally exprاجرای آخر عبارت در زمانی که محاسبات موفق بوده و وقتی یک exception مطرح می شود.
|   ArgumentException یک قاعده منطبق با نوع NET exception.
|  ArgumentException as eیک قاعده مطابق با نوع NET exception. داده شده، اتصال نام e به مقدار exception object.
| Failure(msg) → exprیک قاعده مطابق با data-carrying F# exception داده شده است.
| exn → exprیک قاعده منطبق با هر exception، اتصال نام exn به مقدار exception object.
| exn when expr → exprیک قانون منطبق با exception در شرایط داده شده، نام exn را به مقدار exception object مرتبط می کند.

اجازه دهید ما با دستورالعمل اساسی Exception Handling شروع کنیم.

سینتکس

دستورالعمل پایه برای F# exception handling block در زیر آمده است .

جایی که،

  • exception-type نام یک F# exception جدید است.
  • argument-type نشان دهنده نوعی از یک ارگومان است که می تواند هنگامی که مطرح کردید یک exception از این نوع را، عرضه شود.
  • آرگومان چندگانه را می توان با استفاده از انواع چندگانه برای argument-type مشخص کرد.

عبارت try…with برای مدیریت exception در زبان F # استفاده می شود.

سینتکس برای بیان try…with در زیر آمده است.

عبارت try…with به شما امکان می دهد کد clean-up را اجرا کنید حتی اگر یک بلوک از یک exception را پرتاب کند.

سینتکس برای …try

تابع raise استفاده می شود تا نشان دهد که یک error یا وضعیت استثنایی رخ داده است. همچنین اطلاعات مربوط به خطا در آبجکت exception را ضبط می کند.

سینتکس برای تابع raise است.

تابع failurewith یک #exception F تولید می کند.

سینتکس عملکرد تابع failwith در #F

تابع invalidArg یک آرکومان exception را تولید می کند.

مثال Exception Handling

برنامه زیر نشان می دهد Exception Handling پایه را با یک بلوک ساده  try… with.

خروجی

مثال

#F یک نوع exception را برای اعلان exception ارائه می دهد. شما می توانید از نوع exception مستقیما در فیلترها در عبارت  try…with استفاده کنید.
مثال زیر این را نشان می دهد.

خروجی

مثال

مثال زیر exception handling تو در تو را نشان می دهد.

خروجی

مثال

تابع زیر عملکرد failwith را نشان می دهد.

خروجی

مثال 

تابع invalidArg یک آرگومان exception را تولید می کند. برنامه زیر این را نشان می دهد.

خروجی

 

مطالب مرتبط