برنامه نویسی به زبان ارلنگ

ارلنگ زبان برنامه نویسی تابعی و همروند است

برنامه نویسی به زبان ارلنگ

ارلنگ زبان برنامه نویسی تابعی و همروند است

برنامه نویسی به زبان ارلنگ

در این وبلاگ مطالب مربوط به ارلنگ و الیکسیر منتشر خواهد شد

۱ مطلب با کلمه‌ی کلیدی «استثناء» ثبت شده است

  • ۰
  • ۰

استثناها توسط سیستم زمانی که مشکلی داخلی پیش می‌آید ایجاد و ارسال می‌شوند. البته شما می‌توانید مستقیما استثنا بسازید و آن را بقرستید. برای این کار در زبان ارلنگ راه های مختلفی وجود دارد شما می توانید تابع(throw(Exception را فراخوانی کنید همچنین می‌توانید با فرخواهنی تابع(exit(Exception نیز این کار را انجام دهید. راه دیگری نیز برای این منظور وجود دارد و آن فراخوانی(erlang:error(Exception می‌باشد.  کد زیر تمام این موارد را در یک تابع نشان می‌دهد:

generate_exception(1) -> a;

generate_exception(2) -> throw(a);

generate_exception(3) -> exit(a);

generate_exception(4) -> {'EXIT', a};

generate_exception(5) -> erlang:error(a).

برای گرفتن استثنا ها نیز در ارلنگ نیز می‌توانید از یکی از دو روش زیر استفاده کنید.

در راه اول شما تابعی که امکان ارسال استثناء دارد را درون عبارت کنترل try  به قسم زیر قرار می‌دهید:

catcher(N) ->

  try generate_exception(N) of

    Val -> {N, normal, Val}

  catch

    throw:X -> {N, caught, thrown, X};

    exit:X -> {N, caught, exited, X};

    error:X -> {N, caught, error, X}

  end.

در راه دوم شما از تابع مورد نظر درون catch قرار می‌دهید.

catcher(N) -> catch generate_exception(N).

به خاطر داشته باشید که زمانی که شما استثناء را دریافت می‌کنید نتیجه تبدیل به فرمت توپل می‌شود.

 

  • مهدی حسینی مقدم