[Domino]“java.lang.ClassCastException:lotus.domino.cso.Item”异常解决办法

简介:

[Domino]

java.lang.ClassCastExceptionlotus.domino.cso.Item

异常解决办法

编写者

日期

关键词

郑昀@ultrapower

2005-6

Java Domino RichTextItem

 

现象

通过DominoDocument.getFirstItem("Body")是可以获取当前邮件的Body字段,并试图直接转换为RichTextItem类型,从而访问该邮件的附件。

但是,有时候这个转换得到了下面的异常:

Log提示:

Exception:

java.lang.ClassCastException: lotus.domino.cso.Item

导致错误的语句就是:

代码:

RichTextItem bodyWithAttachs =

  (RichTextItem)doc.getFirstItem("Body");

 

原因

原因在于,这封邮件不一定有RichTextItem,所以最保险的办法是先转换得到Item类型,然后再判断它的real class name

否则如果这封邮件是纯文本,那么直接

RichTextItem bodyWithAttachs =

(RichTextItem)doc.getFirstItem("Body");

将会得到这样的异常:

java.lang.ClassCastException: lotus.domino.cso.Item

解决办法

先转换得到Item,再判断这个Itemreal class Name是否为

lotus.domino.cso.RichTextItem”,

来决定是否应该进一步作RichTextItem强制转换

Log提示:

   // grab the Body field of the current document,

   // and check each attachment

   Item itRichText = doc.getFirstItem("Body");

   if("lotus.domino.cso.RichTextItem" ==

          itRichText.getClass().getName() )

   {

          /*

           不一定这封邮件有RichTextItem,所以最保险的办法是先转换得到Item类型,

           然后再判断它的类名。

           否则如果这封邮件是纯文本,那么直接

           * RichTextItem bodyWithAttachs =

              (RichTextItem)doc.getFirstItem("Body");

              将会得到这样的异常:

              java.lang.ClassCastException: lotus.domino.cso.Item

           */

       RichTextItem bodyWithAttachs =

              (RichTextItem)itRichText;

虽然是一个很小的细节,但还是写下来了

 

编写者

日期

关键词

郑昀@ultrapower

2005-6

Java Domino RichTextItem

 

目录
相关文章
|
2天前
|
Java 索引
【JAVA基础篇教学】第七篇:Java异常类型说明
【JAVA基础篇教学】第七篇:Java异常类型说明
|
2天前
|
前端开发 Java 应用服务中间件
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
|
2天前
|
Java 关系型数据库 MySQL
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
|
5天前
|
存储 Java 开发者
探索Java开发中触发空指针异常的场景
作为一名后端开发者在Java编程的世界中,想必大家对空指针并不陌生,空指针异常是一种常见而又令人头疼的问题,它可能会在我们最不经意的时候突然出现,给我们的代码带来困扰,甚至导致系统的不稳定性,而且最可怕的是有时候不能及时定位到它的具体位置。针对这个问题,我们需要深入了解触发空指针异常的代码场景,并寻找有效的方法来识别和处理这些异常情况,而且我觉得空指针异常是每个Java开发者都可能面临的挑战,但只要我们深入了解它的触发场景,并采取适当的预防和处理措施,我们就能够更好地应对这个问题。那么本文就来分享一下实际开发中一些常见的触发空指针异常的代码场景,并分享如何有效地识别和处理这些异常情况。
19 1
探索Java开发中触发空指针异常的场景
|
7天前
|
SQL 网络协议 Java
Java异常详解
Java异常详解
8 1
|
16天前
|
Java 程序员 编译器
|
17天前
Swagger2异常:java.lang.NumberFormatException: For input string: ““
Swagger2异常:java.lang.NumberFormatException: For input string: ““
20 1
|
19天前
|
存储 Java 程序员
JavaSE&Java的异常
JavaSE&Java的异常
26 0
|
24天前
|
Java Spring
java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 报错的解决办法
java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 报错的解决办法
15 0
|
29天前
|
Java 开发者
Java中的受检异常和非受检异常的区别
Java中的受检异常和非受检异常的区别