class naming (why E*)

E* means that described class was extended from Exception or any wrapper of Exception's class.

Qiang, why do you use E*-class naming?

? which class has this naming?

see JUI, each class has same naming (EAccordion, EDatePicker, EDialog, EJQueryUiWidget, …), you need some standarts :)

Those are user-contributed extension classes. As long as they have some unique class prefix, it should be fine. The prefix 'C' is only used by core framework classes.

I was the first to propose the E prefix for extensions because it was “E” as in “Extension”, however it is arbitrary.