在 X++ 中从 excel 导入数据时,Try/Catch 不适用于转换错误

Try/Catch does not work on conversion error, while importing data from excel in X++

我正在尝试将数据从 excel 导入到我的日志中,但如果出现转换错误,它只会阻止我的日志。我想创建 try/catch 异常,但它不起作用。

我的代码如下所示:

try
{
    [My insert code]
}
catch (Exception::Error)
{                    
    throw error("error here");
}

错误如下所示:

Error executing code: Wrong type of argument for conversion function.

第一个建议可能是“修复转换代码”,但它无法解决我的问题... 有谁知道为什么我的 catch 块没有看到那个错误?
我试图找到转换错误的例外情况,但互联网上大约有 0 条关于它的信息。

您的 catch 不起作用只有两个可能的原因:

  1. 转换代码没有抛出Error异常。
    它可能会抛出 CILError 或其他东西。
  2. 您在 try / catch 之外有一个 ttsBegin / ttsCommit
    事务中的异常 cannot be caught(有充分的理由)。

尝试不使用此 (Exception::Error),因为您的代码可能没有给出 Error 异常。

try
{
    [My insert code]
}
catch
{                    
    throw error("error here");
}