Fish Shell:
ত্রুটিগুলি পরিচালনা করা
কিভাবে:
Fish এ ত্রুটি ধরতে, status
কমান্ড এবং শর্তাধীন বিবরণের ওপর নির্ভর করুন। ধরা যাক ping
ব্যর্থ হয়েছে; এখানে তা কিভাবে সনাক্ত করবেন:
ping -c 1 example.com
if not status is-success
echo "Something fishy happened with the ping."
end
ping
ব্যর্থ হলে উদাহরণ আউটপুট:
Something fishy happened with the ping.
একটি নির্দিষ্ট ত্রুটি কোড পরিচালনা করার জন্য, status --is
ব্যবহার করুন:
false
if status --is 1
echo "Caught an error with code 1."
end
উদাহরণ আউটপুট:
Caught an error with code 1.
একটি আরো দৃঢ় পদ্ধতির জন্য, একটি ফাংশন ব্যবহার বিবেচনা করুন:
function try_ping
ping -c 1 example.com
or begin
echo "Ping failed with status $status"
return 1
end
end
try_ping
বিস্তারিত বিবেচনা
Fish এ ত্রুটি পরিচালনা উচ্চস্তরের ভাষাগুলি থেকে পরিচিত হওয়া try/catch
প্যারাডাইমের সাথে মেলে না। পরিবর্তে, আপনি status
কমান্ড দ্বারা প্রদান করা সরাসরি প্রস্থান স্ট্যাটাস পান।
ঐতিহাসিকভাবে, Unix-এর মতো সিস্টেমগুলিতে, একটি প্রস্থান স্ট্যাটাস 0
মানে সফলতা, যেকোনো অ-শূন্য মান ত্রুটির ইঙ্গিত দেয়, যা সাধারণত বিভিন্ন ব্যর্থতার কারণ প্রতিফলিত করে। এই রীতি বেশিরভাগ কমান্ড লাইন ইউটিলিটিগুলিতে এবং তাই, Fish নিজেই ব্যবহার করে থাকে।
Fish এ status
পরীক্ষার বিকল্পগুলি অন্যান্য শেলগুলিতে trap
এর মাধ্যমে সিগনাল পরিচালনা করা অন্তর্ভুক্ত, কিন্তু Fish সরাসরি স্ট্যাটাস পরীক্ষা পছন্দ করে, কারণ এটি পরিষ্কার এবং পার্শ্বপ্রভাবে কম প্রবণ।
বাস্তবায়নের দিক থেকে, Fish এ ত্রুটি পরিচালনা এর সহজ তবে শক্তিশালী প্রকৃতি বজায় রাখে, এর অ-ব্লকিং প্রকৃতি এবং স্পষ্ট সিনট্যাক্সের উপর জোর দেওয়ার কারণে, যেমন উদাহরণগুলিতে দেখানো হয়েছে। ত্রুটি কোডগুলি ফাংশনের সাথে সুন্দরভাবে মিশে যায়, যা মডিউলার এবং পাঠযোগ্য ত্রুটি পরিচালনা সম্ভব করে তোলে।
দেখুন
- Fish ডকুমেন্টেশন শর্তাধীন বিবরণের উপর: https://fishshell.com/docs/current/language.html#conditionals
- Fish টিউটোরিয়াল ত্রুটি পরিচালনায়: https://fishshell.com/docs/current/tutorial.html#error-handling