Java-抛出异常

抛出异常:

throw:   运用于方法内部,用于给调用者返回一个异常对象,和return一样会结束当前方法.

throws: 运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常(抛出异常).

如:private static int divide(int num1, int num2) throws Exception {}

------------------------------------------------------------------------------------------------------------------

throw语句:

运用于方法内部,抛出一个具体的异常对象.

throw  new  异常类("异常信息"); 终止方法.

------------------------------------------------------------

throw:

一般的,当一个方法出现不正常的情况的时候,我们不知道该方法应该返回什么,此时就返回一个错误,在catch语句块中继续向上抛出异常.

return 是返回一个值,throw 是返回一个错误,返回给该方法的调用者.

举例: 定义一个方法,用于处理两个整数相除.

------------------------------------------------------------------------------------------------------------------

查看String类的charAt方法源代码

------------------------------------------------------------------------------------------------------------------

public char charAT(int index){
     if ((index < 0) || (index >= value.length)){
          throw new StringIndexOutOfBoundsException(index);
     }
     return value[index];
}

如果每一个方法都放弃处理异常都直接通过throws声明抛出,最后异常会抛到main方法,如果此时main方法不处理,继续抛出给JVM,底层的处理机制就是打印异常的跟踪栈信息.

-------------------------------------------

runtime异常,默认就是这种处理方式.

--------------------------------------------

方法的覆盖(Override):

一同:方法的签名必须相同.

两小:

1):子类方法返回类型和父类方法返回类型相同,或是其子类.

 2):子类方法不能声明抛出新的异常.

一大: 子类方法的访问权限必须大于等于父类方法的访问权限.

版权声明:
作者:yfeer
链接:https://www.yfeer.com/700.html
来源:个人编程学习网
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>