পাইথন: একাধিক ব্যতীত চেষ্টা করুন


194

পাইথনে, exceptএক tryবিবৃতিতে একাধিক বক্তব্য থাকা কি সম্ভব ? যেমন :

try:
 #something1
 #something2
except ExceptionType1:
 #return xyz
except ExceptionType2:
 #return abc

7
@ ইভা 611: ক্ষমা চাইবেন না। (1) চেষ্টা করুন। (২) আপনার প্রশ্নের উত্তর পোস্ট করুন।
এস .লট

6
এটা কাজ করে। অজগর দোভাষী দিয়ে এটি ব্যবহার করে ...
ইভা 611

37
@ ইভা 11১১ আমার মনে হয় আপনার প্রশ্নটি ভাল ছিল। পাইথন ইন্টারপ্রেটারে উদাহরণ স্থাপনের চেয়ে গুগলের কাছে এটি আমার পক্ষে অনেক দ্রুত ছিল, সুতরাং আপনি যে জিজ্ঞাসা করেছিলেন তাতে আমি খুশি হয়েছিল। ডাঃটায়সা এবং অন্যদের আপনাকে ধমক দেওয়ার পরিবর্তে দ্রুত "হ্যাঁ" দিয়ে সাড়া দেওয়া উচিত ছিল।
মার্চ

4
বেশিরভাগ সময় আপনার প্রথম অনুমানটি ভুল হতে চলেছে, বা সূক্ষ্ম সূক্ষ্মতা মিস করে, তাই (অন্য 15,000 টির মতো) আমি প্রথমে গুগল চেষ্টা করেছি!
ক্রিস

8
আমি গুগল চেষ্টা করে এই প্রশ্নটি পেয়েছি। অতএব, আমি আনন্দিত যে অন্য কেউ এটিকে এত জনসাধারণের কাছে এতগুলি ফোরামে এসও হিসাবে জিজ্ঞাসা করেছিল, এবং আমি খুশি যে গুগলের অ্যালগরিদম এটি আমার প্রথম ফলাফল হিসাবে পপ আপ করেছে এটির সাথে যুক্ত অন্যান্য লোকেরা খুব খুশি।
কিংডোলিয়ন

উত্তর:


327

হ্যা এটা সম্ভব.

try:
   ...
except FirstException:
   handle_first_one()

except SecondException:
   handle_second_one()

except (ThirdException, FourthException, FifthException) as e:
   handle_either_of_3rd_4th_or_5th()

except Exception:
   handle_all_other_exceptions()

দেখুন: http://docs.python.org/tutorial/erferences.html

"হিসাবে" কীওয়ার্ডটি ভেরিয়েবলের ত্রুটিটি নির্ধারণের জন্য ব্যবহৃত হয় যাতে পরবর্তী সময়ে কোডটিতে ত্রুটিটি আরও ভালভাবে তদন্ত করা যায়। এছাড়াও মনে রাখবেন ট্রিপল ব্যতিক্রম ক্ষেত্রে জন্য প্রথম বন্ধনী পাইথন 3 প্রয়োজন হয় তাহলে এই পৃষ্ঠাটি আরও তথ্য রয়েছে: এক লাইনে ক্যাচ একাধিক ব্যতিক্রম (অবরোধ ব্যতীত)


75
আপনি যদি উভয় ক্ষেত্রে একই জিনিস করতে চান তবে তা except (SomeError, OtherError):। ওপি প্রশ্নের উত্তর দেয় না, তবে গুগলের মাধ্যমে কিছু মানুষকে এখানে আসতে সহায়তা করতে পারে।
চিহ্নিত করুন

উদাহরণস্বরূপ যদি কোডের সংস্করণগুলি আপডেট করার সময় আপনাকে কোনও ডেটা স্ট্রাকচারের একাধিক সংস্করণকে একটি নতুন কাঠামোতে রূপান্তর করতে হয়, আপনি চেষ্টা করতে পারেন..অযুক্তিগুলি নেস্ট করতে পারেন।
স্যাক্সনি রোল্ফ

5
আপনি যদি সমস্ত ব্যতিক্রমগুলি পরিচালনা করতে চান তবে আপনার except Exception:প্লেইনের পরিবর্তে ব্যবহার করা উচিত except:। (বাদে SystemExitKeyboardInterrupt
সমতুল্য সমানভাবে

আপনি eএকটি নাম দেওয়ার পরেও আপনি সম্ভবত কিছু করতে
চাইছেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.