كيفية التعامل مع الخطأ الذي يحدث عند إعطاء عدد خاطئ من المعلمات في استدعاء دالة في بايثون؟

StackOverflow https://stackoverflow.com/questions/456673

  •  19-08-2019
  •  | 
  •  

سؤال

عندما أعطي عددًا خاطئًا من المعلمات في دالة، أحصل على أخطاء.كيف أتعامل معها؟

أعطيت

def fun_name(...):
    try:
        ...

    except TypeError:
        print 'Wrong no of arg'

إنه لا يعمل.

ساعدنى من فضلك.

هل كانت مفيدة؟

المحلول

والمتصل يؤدي هذا الاستثناء، وليس المتلقي.

إذا كنت تريد وظيفة المتلقي للتحقق صراحة العد حجة ستحتاج إلى استخدام varargs:

def fun_name(*args):
  if len(args) != 2:
    raise TypeError('Two arguments required')

نصائح أخرى

وتحتاج إلى التعامل معها حيث يمكنك استدعاء الدالة.

try:
  fun_name(...)
except TypeError:
  print "error!"

إذا قمت باستدعاء دالة تحتوي على عدد خاطئ من المعلمات، فهناك احتمالان:

  • إما أن تقوم بتصميم وظيفتك للتعامل مع عدد عشوائي من الوسائط.ثم يجب أن تعرف ما يجب فعله بالوسائط الإضافية.توضح لك إجابة أليك توماس كيفية التعامل مع هذه الحالة.
  • أو أن تصميمك معيب بشكل أساسي وأنت في ورطة كبيرة.اكتشاف الخطأ لا يساعد في هذه الحالة.

إذا قمت بإزالة أجزاء try...catch ينبغي أن تظهر لك أي نوع من الاستثناء هو رمي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top