Программалауда кездесетін қателер
Программалауда қателердің үш үлкен тобы бар: 1) синтаксистік — программа МҮЛДЕМ ІСКЕ ҚОСЫЛМАЙДЫ; 2) орындалу уақыты (ерекшелік) — код синтаксисі дұрыс, бірақ орындалу барысында пайда болады; 3) алгоритмдік (логикалық) — код ІСКЕ ҚОСЫЛАДЫ, НӘТИЖЕ ДЕ БЕРЕДІ, бірақ нәтиже ҚАТЕ.
Анықтама
Синтаксистік қате (SyntaxError) — тілдің грамматикалық ережесі бұзылғанда пайда болады. Интерпретация кезінде БІРДЕН анықталады, программа тіпті ІСКЕ ҚОСЫЛМАЙДЫ.
Анықтама
Орындалу уақыты қатесі (runtime error / ерекшелік) — код синтаксисі дұрыс, программа ІСКЕ ҚОСЫЛАДЫ, бірақ орындалу барысында КҮТПЕГЕН жағдай пайда болғанда тоқтайды.
| Ерекшелік | Мағынасы | Мысал |
| NameError | Атау анықталмаған | print(a+b), b жоқ |
| ValueError | Мән қатесі | int('Hi') |
| TypeError | Тип сәйкессіздігі | 8 + '3' |
| ZeroDivisionError | Нөлге бөлу | 1/0 |
Анықтама
Алгоритмдік (логикалық) қате — программа ҚАТЕСІЗ орындалып, НӘТИЖЕ де береді, бірақ нәтиже ДҰРЫС ЕМЕС, себебі алгоритмнің логикасы қате құрылған. Мұндай қате интерпретация кезінде КӨРІНБЕЙДІ — оны табу үшін тестілеу қажет.
Есеп: N=int(input()); if (N//10)+(N%10)%2==0: print('jup') — else бөлігі жоқ.
Қате: «тақ» жағдайда ЕШТЕҢЕ ШЫҚПАЙДЫ. Түзету: else: print('taq') қосу керек.
Қателерді табу әдістері: синтаксистік — «^» белгісіне қара; орындалу қатесі — Traceback хабарламасын оқы (қай жол, қандай ерекшелік); алгоритмдік — трассировка және тестілеу (шеткі мәндер, теріс сандар, нөл).