结果，但并不一定会立即被发现。逻辑错误在编译语言和解释语言中都可能出现。与语法错误的程序不同的是，逻辑错误的程序从语法上来说是正确的一段程序，但其运行结果却与预期不符。逻辑错误的唯一表现就是错误的运行结果。在 C++ 语言中，逻辑错误是一种特殊的异常（"logic_error"）。
常见原因.逻辑错误的原因可能是语句中出现了差错（比如公式写错）、算法中的错误，甚至是选择了错误的算法。此外还有一些其它原因，如类型转换错误、变量作用域错误、遗漏的代码段、对问题或需求的理解有误等