从类图表2.3中可以看到,CLDC中大多数的异常类是在java.lang包中定义的,而错误类仅仅3个。这些错误类和异常类都和J2SE中的相同。特别需要注意的是Throwable类中的printStack()方法。该方法的输出格式由虚拟机的实现自行规定;特别是在Sun的实现KVM中,该方法仅仅会把异常的名字打印出来。
2.4.2 java.util包
CLDC的java.util包主要包括了集合类和时间、日期的相关的12个类。其中的10个类是从J2SE中继承来的;Timer和TimerTask类是MIDP增加的类。下表给出了CLDC 的java.lang包中的类及类的继承关系。

CLDC 的java.lang包中的类及类的继承关系
集合类:
CLDC规范中包含了4个集合类:Hashtable、Stack、Vector和Enumeration。和J2SE相比,它们的功能被大大削减了,这点从继承关系上就可以看出:J2SE中的集合框架被取消了,它们都直接从java.lang.Object类直接继承。
Date类:
CLDC的Date类比J2SE要简单的多。Deprecated 构造函数和方法都被除去了;多个Date对象的比较方法只能用equals()来进行。因此,我们不能直接通过Date对象获得时间(日期)的一部分,如年、月、日等。这些功能仅在Calendar类中有定义。
TimeZone类: