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 এ ত্রুটি পরিচালনা এর সহজ তবে শক্তিশালী প্রকৃতি বজায় রাখে, এর অ-ব্লকিং প্রকৃতি এবং স্পষ্ট সিনট্যাক্সের উপর জোর দেওয়ার কারণে, যেমন উদাহরণগুলিতে দেখানো হয়েছে। ত্রুটি কোডগুলি ফাংশনের সাথে সুন্দরভাবে মিশে যায়, যা মডিউলার এবং পাঠযোগ্য ত্রুটি পরিচালনা সম্ভব করে তোলে।

দেখুন