Erlang中除以零的精确异常类型

最想要的

我想捕捉零除法错误,但不知道我应该为此写哪个确切的模式

Result = try 5/0 catch {'EXIT',{badarith,_}} -> 0.

当我通过捕获所有异常时它起作用

Result = try 5/0 catch _:_ -> 0.

但第一个例子给出

** 异常错误:计算算术表达式时发生错误

那么如何正确捕捉零除法

尤金·杜布罗文

您可以使用我从http://learnyousomeerlang.com/errors-and-exceptions获得的代码

catcher(X,Y) ->
  case catch X/Y of
   {'EXIT', {badarith,_}} -> "uh oh";
   N -> N
  end.

6> c(exceptions).
{ok,exceptions}
7> exceptions:catcher(3,3).
1.0
8> exceptions:catcher(6,3).
2.0
9> exceptions:catcher(6,0).
"uh oh"

或者

catcher(X, Y) -> 
  try 
   X/Y 
  catch 
   error:badarith -> 0 
  end. 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 awk 除以零异常

来自分类Dev

在ObjectiveC中除以零

来自分类Dev

在 Clojure 中除以零

来自分类Dev

在simclist库中除以零

来自分类Dev

为什么为Float除以零不会在Ruby中引发异常?

来自分类Dev

在列表中除以零等于零

来自分类Dev

在SQL Server中除以十进制类型会导致不必要的尾随零

来自分类Dev

Java程序,用于计算抛出nCr的算术异常“除以零”

来自分类Dev

SQL Server和C#存储过程&除以零异常

来自分类Dev

RuntimeWarning:除以日志中遇到的零

来自分类Dev

python在日志中除以零-logistic回归

来自分类Dev

python在日志中除以零-logistic回归

来自分类Dev

在 Excel 中得到错误的除以零

来自分类Dev

如何避免在python中除以零错误

来自分类Dev

如何在SQLServer中处理零除以零

来自分类Dev

未除以零时“在日志中遇到的被零除”

来自分类Dev

如何在SQLServer中处理零除以零

来自分类Dev

Erlang中的类型检查

来自分类Dev

从异常中获取异常类型

来自分类Dev

从异常中获取异常类型

来自分类Dev

在常数表达式中除以零

来自分类Dev

Numpy RuntimeWarning:除以log10中的零

来自分类Dev

用double_scalars中的零除以进行导数计算

来自分类Dev

java.lang.ArithmeticException:在清除表中除以零

来自分类Dev

试图在SSRS表达式中除以零误差

来自分类Dev

如何处理sql中的除以零错误

来自分类Dev

在sql server中的特定情况下除以零

来自分类Dev

运行脚本时,我在 SQL 中得到“除以零”

来自分类Dev

允许除以零到 = 零