Coldfusion:如何使用cfthrow转储参数范围?

isu*_*use 3 coldfusion

在我的表单提交后,我正在调用一个在我的cfc中运行orm EntitySave的控制器方法.我想在通过ORM保存数据之前转储参数,只是为了直观地验证那些确实是我想要保存在数据库中的值.所以,当我使用它

<cfthrow message="value = #arguments#">
Run Code Online (Sandbox Code Playgroud)

我得到这个:

Error: Complex object types cannot be converted to simple values.
Run Code Online (Sandbox Code Playgroud)

我知道你不允许用复杂的对象做这个,所以在那些情况下我会用,<cfdump>但我找不到一种方法来转储<cfthrow>.我相信有更好的方法来实现这一目标.我也试过做一个<cfmail>令人惊讶的工作,但电子邮件需要一两分钟.任何建议将不胜感激.我目前正在检查ValidateThis.

Ada*_*ron 13

你可以序列化它:

<cfthrow message="value = #serializeJson(arguments)#">
Run Code Online (Sandbox Code Playgroud)

但我不认为你想要在屏幕上显示那种东西.

如果我是你,我会记录它(同样的概念,就<cflog>在它之前<cfthrow>,并将参数放在日志条目中,并在<cfthrow>刚刚给出错误的简要解释时(你还应该使用TYPE属性,以便后续处理)您提出的例外情况.