Requests ProxyError বনাম urllib3 ProxyError
কলটিতে ব্যবহৃত HTTP লাইব্রেরি যে exception দেখায় সেটি ধরুন এবং শুধু ক্লাসের নামের উপর নির্ভর না করে ভেতরের কারণগুলো পরীক্ষা করুন।
requests.exceptions.ProxyError এবং urllib3.exceptions.ProxyError দুটি আলাদা exception ক্লাস। একই সংক্ষিপ্ত নাম থাকার অর্থ এই নয় যে একটি except ক্লজ দুটিই ধরবে।
Requests কলের জন্য পাবলিক Requests exception API দিয়ে শুরু করুন। এর ট্রান্সপোর্ট অ্যাডাপ্টার সাধারণত নিম্নস্তরের ব্যর্থতাগুলোকে Requests যে exception দেখায় সেগুলোতে রূপান্তর করে। পুরোনো সংস্করণে নির্দিষ্ট র্যাপিং বাগ ছিল, তাই অপ্রত্যাশিত traceback পেলে লাইব্রেরির সংস্করণটি সংরক্ষণ করুন।
তদন্তের সময় exception-টির মডিউল, ক্লাস এবং শৃঙ্খলিত কারণ দেখুন। ভেতরে থাকা MaxRetryError বা সংযোগ ব্যর্থতা পূর্বের প্রক্সি পর্যায়ের উপকারী প্রমাণ ধরে রাখতে পারে।
ঐতিহাসিক সমাধান থেকে আসা পুরোনো vendored পাথ আধুনিক অ্যাপ্লিকেশনে import করা এড়িয়ে চলুন। বর্তমান কলে উপযুক্ত পাবলিক exception ধরুন, নির্ণয়ের জন্য কারণ সংরক্ষণ করুন এবং পুনরায় চেষ্টার আচরণ আলাদাভাবে নির্ধারণ করুন। প্রতিটি Exception ধরে অনন্তকাল চলতে থাকলে কেবল মূল অমিলটাই ঢাকা পড়ে।