Java中throws,throw抛出异常问题

Java中异常的分类,主要分为两大类型

1. 系统自动抛出的异常

所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。

2. 语句抛出的异常

用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。

那么throws和throw是如何进行使用,抛出异常的呢?

throws  是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)   调用者必须做出处理(捕获或继续抛出)。

用法:(修饰符)(返回值类型)(方法名)(参数列表)(throws(异常类){......}

示例:public void method(int parameter) throws Exception1,Exception2,Exception3{......}

throw代表语句抛出一个异常。

语法:throw(异常对象)

示例:throw new Exception1();

下面总结一下,throws和throw的具体区别:


代码示例:

package exceptions;

import java.util.Random;

class Exception1 extends Exception{
	
}

class Exception2 extends Exception{
	
}

public class InheritingExceptions {
	public void f(int para) throws Exception1, Exception2 {
		System.out.println(para);
		if (1 == para) {
			System.out.println("Throw Exception1 from f()");
			throw new Exception1();
		}
		
		if( 2 == para) {
			System.out.println("Throw Exception2 from f()");
			throw new Exception2();
		}
						
	}
	
	public static void main(String[] args) {
		InheritingExceptions sed = new InheritingExceptions();
		try {
			sed.f(new Random(47).nextInt(3));
			
		}catch (Exception1 e) {
			// TODO: handle exception
			System.out.println("Caught Exception1!");
		}
		catch (Exception2 e) {
			// TODO: handle exception
			System.out.println("Caught Exception2!");
		}
	
	}

}
程序运行结果为:

2
Throw Exception2 from f()
Caught Exception2!
代码块可能产生两个异常,Exception1, Exception2。这两种异常均由方法的调用者进行处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值