关于Java异常

1,throw和throws的区别

   a)位置不同。throws用在函数上,后面跟的是异常类,可以跟多个;throw用在函数内,后面跟的是异常对象。

   b)功能不同。throws用来声明异常,让调用者知道该功能有可能出现的问题,并由调用者可以给出预先的处理方式;throw抛出具体的问题对象,执行到throw功能就已经结束了,并跳转到调用者。将具体的问题对象抛给调用者。也就是throw语句独立存在时,下面不要定义其他语句,因为执行不到。

2,异常体系最大的特点就是体系中的类以及类产生的对象,都具备可抛性,可抛性的意思就是可以被throws和throw所操作。

3,异常的原则
   (1)功能内部有异常throw抛出,功能是一定要throws声明。内容抛什么,功能上就抛什么。

   (2)特殊状况:当函数内通过throw抛出了RuntimeException及其子类的异常对象时,函数上可以不用throws声明。不声明的目的就是不让调用者处理,让调用者的程序停止,要对代码进行修改。 

4,Exception分两种:

    a)编译时会被检测的异常。

    b)运行时异常(编译时不检测)RuntimeException

原文地址:https://www.cnblogs.com/day93110/p/6496350.html