(1)您所说的函数,也可以理解为方法,您在方法中通过THROWS关键字抛出异常的话,如果调用这个方法,必须在抛出异常,您可以通过THROWS进行抛出,也可以通过TRY...CATCH..进行抛出.
(2)如果不用TRY,CATCH抛出,您可以通过在XML文件中自定义异常进行抛出,当程序运行时,将自动运行这个异常(Struts框架中异常机制处理的比较好).
(3)一般抛出的异常Exception,他可以概括为任何一个异常,如IOException和SQLException异常,都可以用Exception进行表示.
(4)对于其他情况下的异常请您最好参考一下有关Java基础方面的书籍,在这里我也说的不太情况,请您谅解.