在java中,throw与throws有什么区别

如题所述

1、throw是在代码块内的,即在捕获方法内的异常并抛出时用的;

2、throws是针对方法的,即将方法的异常信息抛出去

3、可以理解为throw是主动(在方法内容里我们是主动捕获并throw的),而throws是被动(在方法上是没有捕获异常进行处理,直接throws的)

4、例子:

public void str2int(String str) throws Exception { //这里将得到的异常向外抛出
  try { 
    System.out.println(Integer.parseInt(str)); 

  } catch(NumberFormatException e) {
     //TODO 这里可以做一些处理,处理完成后将异常报出,让外层可以得到异常信息 
     throw new Exception("格式化异常"); 
  }
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-06-03
java中throw是抛出的意思,Java中常用来表示抛出错误。而throw代表抛出一个错误,throws代表的是抛出多个错误。找错误的话可以在报错的板块或界面找到你自己写的那行代码。
第2个回答  2016-06-04
throws用于方法头部,声明该方法会抛出什么类型的异常;
throw用于方法体中,抛出某种类型的异常。
上代码:
public void fun() throws Exception {
try {

...

if (boolean) {
...

} else {
throw new MyException();

}
} catch (Exception e) {

...

throw e;

} finally {

... ...

]

}
第3个回答  2016-06-11
前者是声明, 厚者是表达式。

前者说你会扔某些异常。 后者是你真的扔某异常
第4个回答  2019-08-09

package practice;


public class pracrice_1 {

public static void main(String[] args) {

Vehicle vehicle = new Vehicle(4,5);

Vehicle car=new Car(4, 3, 4);

Vehicle truck = new Truck(4,3,4,5);

vehicle.showInfo();

car.showInfo();

truck.showInfo();

System.out.println(Integer.BYTES);

}

}

class Vehicle{

private int wheels;

private int weight;

public Vehicle(int wheels,int weight) {

this.weight=weight;

this.setWheels(wheels);

}

void showInfo(){

System.out.println("车轮个数为:"+this.getWheels()+"车重为:"+this.weight);

}

public int getWheels() {

return wheels;

}

public void setWheels(int wheels) {

this.wheels = wheels;

}

public int getWeight() {

return weight;

}

public void setWeight(int weight) {

this.weight = weight;

}

}

class Car extends Vehicle{

int loader;

public Car(int wheels,int weight,int loader) {

super(wheels,weight);

this.loader=loader;

}

void showInfo() {

System.out.println("车轮个数为:"+super.getWheels()+"车重为:"+this.getWeight()+"载人数为"+this.loader);

}

public int getloader() {

return loader;

}

public void setloader(int loader) {

this.loader = loader;

}

}

class Truck extends Car{

private int payload;

public Truck(int wheels, int weight, int loader,int payload) {

super(wheels, weight, loader);

this.payload=payload;

}

@Override

void showInfo() {

System.out.println("车轮个数为:"+super.getWheels()+"车重为:"+this.getWeight()+"载人数为"+this.loader+"载重量:"+this.payload);

}

}

建议你这样试试看:

      

这样做的好处:

注意事项:

java中的“throw”和“throws”的区别?
throw和throws的区别:1、throw代表动作,表示抛出一个异常的动作;throws代表一种状态,代表方法可能有异常抛出 2、throw用在方法实现中,而throws用在方法声明中 3、throw只能用于抛出一种异常,而throws可以抛出多个异常

Java中throws和throw的区别讲解
1、throw语句用在方法体内,表示抛出异常,由方法体内的语句处理;throws语句用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。2、throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常;throw是具体向外抛异常的动作,所以它是抛出一个异常实例。3、throws说明有那个可...

在java中,throw与throws有什么区别
1、throw是在代码块内的,即在捕获方法内的异常并抛出时用的;2、throws是针对方法的,即将方法的异常信息抛出去 3、可以理解为throw是主动(在方法内容里我们是主动捕获并throw的),而throws是被动(在方法上是没有捕获异常进行处理,直接throws的)4、例子:public void str2int(String str) throws ...

Java中throw和throws的区别
1.throw:(针对对象的做法)抛出一个异常,可以是系统定义的,也可以是自己定义的。下面举两个例子:抛出Java中的一个系统异常:public class One { public void yichang(){ NumberFormatException e = new NumberFormatException();throw e;} public static void main(String[] args){ One test = ...

Java中,throw和throws有什么区别?
通过throws关键字声明可能抛出的IOException,使调用者在调用方法前做好异常处理准备。总之,throw与throws之间的主要区别在于功能和适用场景。throw用于实际抛出异常的代码段,而throws用于方法签名中声明可能抛出的异常类型,以通知调用者它们需要进行相应的异常处理。

JAVA的throw和throws怎么用!
在Java中,"throw"和"throws"是两个关键的异常处理关键字。"throw"用于在代码中实际抛出一个异常,语法形式是"throw(异常对象)"。它是在方法体内执行,当遇到需要中断正常流程的情况时,用来主动引发异常。"throws"则是在方法声明时使用,用来标记该方法可能抛出的异常,为的是让调用者知道这个方法在执行...

JAVA培训:throw 和 throws 的区别?
Java 异常处理中的 throw 和 throws 关键字,它们在功能和使用场景上有明显区别。throw 用于方法内部,主动抛出异常对象,通常在方法中执行时可能遇到错误情况,通过 throw 关键字将异常对象抛出至调用者。使用格式为:throw 异常对象。例如,若需抛出异常对象 e,可通过 throw 语句实现,示例代码如下:而 ...

java中throw和throws的区别
throw是具体向外抛异常的动作,所以是抛出一个异常实例。throws说明有那个可能,倾向。throw的话,那就是把那个倾向变成真实的了。二.同时:1、throws出现在方法函数头;而throw出现在函数体。2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种...

throw和throws的区别
理解`throw`和`throws`的区别对于掌握Java异常处理至关重要。`throw`与`throws`之间的区别在于它们的用途和表达方式。`throw`用于明确表示当前方法或函数内部发生异常的情况,它描述了实际发生的事件。例如:`Don't throw it to him, give it to him!别扔给他,递给他!``Can you throw me that ...

在Java中,throw与throws有什么区别?他们各自用在什么地方?
throw 用来抛出异常throws 用来标识可能抛出的异常 public class Person { public void display()throws Exception{ System.out.println("hello everyone");} } public class Test { public static void main(String[]args){ Person person = new Person();\/\/在Person中的display方法抛出了异常,在调用...

相似回答