本文最后更新于:June 30, 2023 pm

  1. 函数子句错误

    发生函数子句(function clause)错误的最可能原因是:函数的所有卫语句或所有的匹配模式都失败了。

  2. case 子句错误

    当忘记了一个特定的情况、传入的数据类型错误或者需要一个匹配一切的子句时,会发生case子句(case clause)错误。

  3. if子句错误

    if子句(if clause)错误的原因和case子句类似。当Erlang找不到一个可以求值为true的分支时,会引发这个错误。

  4. 不正确匹配错误

    当模式匹配失败时,就会出现不正确匹配(bad match)错误。这通常意味着你时图进行不可能的模式匹配,对一个变量进行二次绑定或者在=操作符两边放置了不相等的东西。

  5. 不正确参数错误

    不正确参数(bad argument)错误和函数子句错误类似,因为它们都和使用不正确的参数调用函数有关。

  6. 未定义函数错误

    当调用了一个不存在的函数时候,会发生未定义函数(undefined function)错误。

  7. 不正确算术计算错误

    当试图进行不正确的算术计算时,会发生不正确算术计算(bad arithmetic)错误,如除0或者在原子和数值之间进行算术计算。

  8. 不正确函数错误

    导致不正确函数(bad function)错误最常见的原因是把变量当成函数使用,但是变量的值并不是函数。

  9. 不正确元素错误。

    不正确元素(bad rarity)错误时不正确函数错误的特殊情况。当使用高阶函数时,给它们传递的参数个数多于或者少于实际参数个数时会出现这个错误。

  10. 系统限制错误

    出现系统限制错误的原因有很多,下面是其中的一些:

    • 进程太多
    • 原子太长
    • 函数参数个数太多
    • 原子太多
    • 连接的节点数太多

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

Ekka源码阅读 Previous
ETS Next