java中带有throws的方法中一定要加throw吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中带有throws的方法中一定要加throw吗?相关的知识,希望对你有一定的参考价值。
为了明确我的问题,简单举个例子:
public void function() throws Exception
......
throw new Exception();
......
我所疑问的是,这个throw语句是不是必须要加,throw与throws语句是不是要配套?
throw时抛出异常的动作,代表你抛出了个异常。 参考技术B 你问的问题我都看不懂
反正 throws 跟在方法 或 主类的后面,后面跟类名
而throw 跟在语句的后面,后面跟类的对象。
不是拉 更没说要配套 参考技术C 不是throws用于方法标注抛出异常 这样你不需要捕获
throw用于单个语句抛出异常 参考技术D 你可以这样写
public void function() throws Exception
......
throw new Exception();
......
也可以这样写
public void function()
try
..........
catch(Exception e)
............
出错的方法有可能是JDK,也可能是程序员写的程序,无论谁写的,抛出一定用throw
应对未检查异常就是养成良好的检查习惯。
已检查异常是不可避免的,对于已检查异常必须实现定义好应对的方法。
已检查异常肯定跨越出了虚拟机的范围。(比如“未找到文件”)
如何处理已检查异常(对于所有的已检查异常都要进行处理):
首先了解异常形成的机制:
当一个方法中有一条语句出现了异常,它就会throw(抛出)一个例外对象,然后后面的语句不会执行返回上一级方法,其上一级方法接受到了例外对象之后,有可能对这个异常进行处理,也可能将这个异常转到它的上一级。
对于接收到的已检查异常有两种处理方式:throws和try方法。
注意:出错的方法有可能是JDK,也可能是程序员写的程序,无论谁写的,抛出一定用throw。
1 package TomText; 2 3 4 //创建日期类Date并进行输出。 5 public class TomText_47 { 6 private int day; 7 private int month; 8 private int year; 9 public void setDate(int d,int m,int y){ 10 day=d; 11 month=m; 12 year=y; 13 } 14 public void printDate ( ){ 15 System.out.println("今天是"+year+"年"+month+"月"+day+"日"); 16 } 17 public static void main(String [ ] args){ 18 TomText_47 today=new TomText_47 ( ); 19 today.setDate(12,3,2005); 20 TomText_47 thisday; 21 thisday=today; 22 thisday.printDate( ); 23 } 24 25 }
以上是关于java中带有throws的方法中一定要加throw吗?的主要内容,如果未能解决你的问题,请参考以下文章