আমি দীর্ঘ চলমান লিগ্যাসি রুবি প্রোগ্রামটি পাস করেছি, যার অসংখ্য ঘটনা রয়েছে
begin
#dosomething
rescue Exception => e
#halt the exception's progress
end
এটি জুড়ে।
প্রতিটি একক সম্ভাব্য ব্যতিক্রম ট্র্যাক না করে এগুলি প্রতিটি পরিচালনা করতে পারে (কমপক্ষে তাত্ক্ষণিকভাবে নয়), আমি এখনও মাঝে মাঝে এটি বন্ধ করে রাখতে সক্ষম হতে চাই CtrlC।
এবং আমি এমনভাবে এটি করতে চাই যা কেবল কোডে যুক্ত হয় (সুতরাং আমি বিদ্যমান আচরণকে প্রভাবিত করি না, বা রানের মাঝামাঝি সময়ে ধরা পড়ে যাওয়া ব্যতিক্রমটি মিস করি না))
[ CtrlCহ'ল সিগিন্ট বা সিস্টেমএক্সিট, যা SignalException.new("INT")
রুবির ব্যতিক্রম হ্যান্ডলিং সিস্টেমের সমতুল্য বলে মনে হয় । class SignalException < Exception
, যে কারণে এই সমস্যাটি উঠে আসে]]
আমি যে কোডটি লিখতে চাই তা হ'ল:
begin
#dosomething
rescue SignalException => e
raise e
rescue Exception => e
#halt the exception's progress
end
সম্পাদনা: এই কোডটি ততক্ষণ কাজ করে, যতক্ষণ আপনি সঠিকভাবে ফাঁদে যেতে চান ব্যতিক্রমের ক্লাস পান। এটি সিস্টেমেক্সট, বিঘ্নিত বা আইআরবি :: নীচে হিসাবে বাতিল করা উচিত।