الوحدة urllib.error()
في بايثون
تعرّف الوحدة urllib.error الأصناف الخاصة بالاستثناءات التي تُطلقها الوحدة urllib.request.
الصنف الأساسي في هذه الوحدة هو URLError.
تطلق الوحدة urllib.error الاستثناءات التالية:
الاستثناء urllib.error.URLError
تُطلق أصناف المعالجة هذا الاستثناء (أو الاستثناءات المشتقة منه) عند وقوعها في مشكلة معيّنة. هذا الاستثناء هو صنف متفرّع من الاستثناء OSError.
reason
سبب حدوث هذا الخطأ. يمكن أن تكون رسالة على هيئة سلسلة نصية أو نسخة من استثناء آخر.
ملاحظات: أصبح URLError صنفًا متفرّعًا من الصنف OSError عوضًا عن IOError في الإصدار 3.3 من بايثون.
الاستثناء urllib.error.HTTPError
على الرغم من كون HTTPError استثناءً (متفرّعًا من الصنف URLError) إلا أنّ بالإمكان استخدامه كقيمة معادة شبيهة بالملفات (كتلك المعادة بواسطة الدالة urlopen()). يمكن الاستفادة من هذا السلوك عند معالجة أخطاء HTTP الخارجية exotic مثل طلبات الاستيثاق.
code
شيفرة حالة HTTP حسب ما هو معرّف في المعيار RFC 2616. ترتبط هذه القيمة العددية بالقيمة الموجودة في قاموس الشيفرات وكما هو موجود في http.server.BaseHTTPRequestHandler.responses.
reason
عادة ما تكون سلسلة نصية توضّح سبب حدوث هذا الخطأ.
headers
ترويسات استجابة HTTP لطلب HTTP الذي تسبب في حدوث الخطأ HTTPError.
ملاحظة: هذا الاستثناء جديد في الإصدار 3.4 من بايثون.
الاستثناء urllib.error.ContentTooShortError(msg, content)
يُطلق هذا الاستثناء عندما تكتشف الدالة urlretrieve() أن كمية البيانات المحمّلة أقل من الكمية المتوقعة (المعطاة بواسطة الترويسة Content-Length). تخزّن الخاصية content البيانات المحمّلة (والتي يفترض أن تكون مقطوعة truncated).