Some exceptions like NotImplementedException and UnsupportedException can occur in any methods. So, they are subclasses of TajoRuntimeException. But, it is hard for Client applications to handle TajoRuntimeException in the same way like TajoException. So, the final exception thrown from Client APIs must be TajoException.
The main purpose of this issue solves this problem.