পাইথনের যে কোনও সম্ভাব্য চেষ্টা অবশেষে অবরুদ্ধ করার জন্য, এটির নিশ্চয়তা কি? finally ব্লকটি সর্বদা কার্যকর করা হবে?
উদাহরণস্বরূপ, আসুন আমি বলি যে আমি একটি exceptব্লক থাকাকালীন ফিরে আসছি :
try:
1/0
except ZeroDivisionError:
return
finally:
print("Does this code run?")
অথবা হতে পারে আমি আবার উত্থাপন Exception:
try:
1/0
except ZeroDivisionError:
raise
finally:
print("What about this code?")
পরীক্ষার শোগুলি যা finallyউপরের উদাহরণগুলির জন্য কার্যকর করা হয়, তবে আমি কল্পনা করি যে অন্যান্য পরিস্থিতিতেও আমি ভাবিনি।
finallyপাইথনে কোনও ব্লক কার্যকর করতে ব্যর্থ হতে পারে এমন কোনও দৃশ্য আছে কি?
finallyচলবে না। বা কম্পিউটারটি আগে ক্রাশ হলে একই: ডি
finallyযদি দেওয়াল থেকে পাওয়ার কর্ডটি ছিঁড়ে ফেলা হয় তবে তা কার্যকর করা হবে না।
finallyকার্যকর করতে বা "এর উদ্দেশ্যকে পরাভূত করতে" ব্যর্থতা কল্পনা করতে পারি তা অসীম লুপের সময়sys.exitবা জোর করে বাধা দেওয়ার সময়। ডকুমেন্টেশন বলে যেfinallyসবসময় মৃত্যুদন্ড কার্যকর হয়, তাই আমি যে তার সাথে যেতে চাই।