IronPython尝试/除了没有捕获错误

时间:2014-01-22 19:23:02

标签: try-catch ironpython spotfire

#下面的行正在迭代TIBCO Spotfire表,获取列和列属性,其中一个是列的“计算表达式”属性

  for tb in Document.Data.Tables:
    for col in tb.Columns:
      # initialize column variable
      ces = ""
      # get calculated expression and cast to string
      try:
        ces = col.Properties.CalculatedExpression.ToString()
      exception:
        ces="Error:Calculated Expression Not Read"

我事先知道一些计算表达式中包含unicode字符(对此无法做任何事情)所以,我正试图“抓住”这些问题并简单地写出错误。
然后转到下一栏。
但是,我继续抱怨以下错误抱怨大于或等于符号:

System.Text.EncoderFallbackException:'ascii'编解码器无法对位置174中的字符'\ u2264'进行编码

1 个答案:

答案 0 :(得分:0)

不解释,但如果你尝试怎么办:

for tb in Document.Data.Tables:
for col in tb.Columns:
  # initialize column variable
  ces = ""
  # get calculated expression and cast to string
  try:
    ces = str(col.Properties.CalculatedExpression)
  exception:
    ces="Error:Calculated Expression Not Read"

代替?

如果不起作用,请查看unicode()函数。

str()docs - https://ironpython-test.readthedocs.org/en/latest/library/functions.html#str

unicode()docs - https://ironpython-test.readthedocs.org/en/latest/library/functions.html#unicode

如果有给出的示例数据,我会亲自测试。