在计算机程序设计中，逻辑错误(Logic error)（又叫zh-hans:语义错误;zh-hant:语意错误）是程序错误的一种，这种错误会导致程序运行出错，但还不至于崩溃。逻辑错误会产生意外的输出或结果，但并不一定会立即被发现。逻辑错误在编译语言和解释语言中都可能出现。与语法错误的程序不同的是，逻辑错误的程序从语法上来说是正确的一段程序，但其运行结果却与预期不符。逻辑错误的唯一表现就是错误的运行结果。在 C++ 语言中，逻辑错误是一种特殊的异常（"logic_error"）。Secti