خطای معنایی (semantic error)

نوع سوم خطا با نام خطای معنایی شناخته می‌شود. در این حالت هیچ‌گونه پیغام خطایی ظاهر نمی‌شود و برنامه به‌صورت درست تفسیر می‌شود. اما نتایج حاصل از برنامه دور از انتظار است. این خطا زمانی پیش می‌آید که برنامه‌نویس به اشتباه کدی بنویسد که هدف اصلی برنامه نباشد یا باعث تولید خروجی غلط شود. این نوع خطا بدترین نوع خطا است، چون در این حالت مفسر پایتون هیچ کمکی به تشخیص خطا نمی‌کند و اصلاح خطا فقط به وسیله‌ی برنامه نویس صورت می‌گیرد. در این حالت برنامه‌نویس باید با توجه به خروجی موجود، خروجی مطلوب و ورودی‌ها سعی در درک و شناسایی روند کار کرده، محل مشکل را شناسایی و مشکل را برطرف نماید.

برای خطایابی این نوع امکانات و روش‌های مختلفی موجود است.

برای مثال با استفاده از این روش‌ها برنامه‌نویس می‌تواند با وارد کردن ورودی، روند برنامه و نحوۀ انجام دقیق تک‌تک دستورات را تا مرحلۀ خروج نتیجه، تحت نظر بگیرد. و یا برنامه‌نویس می‌تواند در بین دستورات از دستور print برای نمایش خروجی حاصل از هر دستور استفاده کند و به محض مشاهدۀ خطا در جهت اصلاح آن اقدام کند. ولی بهترین روش برای اصلاح چنین خطاهایی استفاده از اشکال‌زداها (debugger) است.