异常是否应包含动态数据?

时间:2013-09-18 10:21:25

标签: c# java php

我有这样的方法:

public function someMethod($param1 = null, $param2 = null)
{
   ...
   if ($param1 == null &&...)
   {
        throw new Exception("Some parameter is wrong", 601);
    }
}

在异常消息中包含动态数据是一个好习惯,因为我有异常代码吗?例如,异常可能如下所示:

 throw new Exception("First parameter is wrong. You passed: {$param1}", 601);

你有什么看法,是动态消息还是我应该坚持异常消息的固定文本?

1 个答案:

答案 0 :(得分:1)

  

异常是否应包含动态数据?

应该?不,但他们可以!但请确保“生成”此动态数据不会导致另一个异常。

但你永远不应该throw new Exception()。扩展它以用于您自己的自定义异常或使用javas异常,例如IllegalArgumentException