使用throw自行抛出异常

1. 抛出Checked异常和Runtime异常的区别

  • 不是RuntimeException类及其子类的实例被称为Checked异常
  •   Checked异常:要么使用throws显示的抛出,要么用try..catch显示的捕获它,并处理.
  •   Runtime异常: 无需显示的抛出,如果需要可以使用try..catch显示的捕获它
public class ExceptionDemo {

	public static void main(String[] args) {
		try {
			//调用Checked异常方法,要么在main方法中再次抛出,要么显示的处理它
			throwChecked(4);
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
		//调用抛出Runtime异常的方法,既可以显示的捕获它,也可以不理会该异常
		throwRunTime(4);
	}

	/*
	 * 自行抛出Exception异常
	 * 该代码必须在try块中,或者在带有throws声明的方法中
	 */
	public static void throwChecked(int a )throws Exception{
		if (a>0){
			throw new Exception("a的值大于0");
		}
	}

	/*
	 * 自行抛出Runtime异常
	 * 可以完全不理会该异常,也可以交给该方法的调用者处理
	 */
	public static void throwRunTime(int a){
		if (a>0) {
			throw new RuntimeException("a的值大于0");
		}
	}

}

  运行的结果:

时间: 2024-10-18 14:02:19

使用throw自行抛出异常的相关文章

C#中使用throw和throw ex抛出异常的区别

通常,我们使用try/catch/finally语句块来捕获异常,就像在这里说的.在抛出异常的时候,使用throw和throw ex有什么区别呢? 假设,按如下的方式调用几个方法: →在Main方法中调用Method1方法,try/catch捕获异常→在Method1方法中调用Method2方法,try/catch捕获异常→在Method2方法中故意抛出异常,try/catch捕获异常 使用throw抛出异常 static void Main(string[] args) { try { Met

22、在方法中抛出异常,使用throw关键字抛出异常

package com.exception.demo; public class Captor { /** * @param args * Exception是所有异常类的父类 * 如果将它的代码块方其他两个代码块前面,后面的代码块将永远得不到执行 * 所以 catch 语句的顺序不可调换 * * 异常的使用原则: * 1.在当前方法中使用 try - catch 语句捕获异常 * 2.一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类 * 3.如果父类抛出多个异常,则覆盖方法必须抛出

第10章-异常处理 --- 使用throw抛出异常

第10章-异常处理 --- 使用throw抛出异常 (一)抛出异常 如果需要在程序中自行抛出异常,则应使用throw语句,throw语句可以单独使用,throw语句抛出的不是异常类,而是一个异常实例,而且每次只能抛出一个异常实例. throw语句的语法格式如下: throw ExceptionInstance; 如果throw语句抛出的异常是Checked异常,则该throw语句要么处于try块里,显示捕获该异常,要么放在一个带throws声明抛出的方法中,即把该异常交给该方法的调用者处理;如果

跟王老师异常(六):抛出异常:使用throw抛出异常

抛出异常:使用throw抛出异常 主讲人:王少华  QQ群号:483773664 学习目标: 1.掌握使用throw抛出异常 2.总结Java中对异常处理的二种方式 一.使用情境 当程序发生错误时,系统会自动抛出异常,这是我们上节使用的throws声明抛出异常,除此以外,Java也允许程序员自行抛出异常.自行抛出异常,使用throw语句完成. 那么什么时候程序员自行抛出异常呢?一般情况下,程序员自行抛出的异常,是由业务产生的,比如性别输和不是"男"或"女",系统是无

C++使用throw抛出异常

引用:    c++ 使用throw抛出异常 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常.该语句的格式为:throw 表达式;    如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的条件是被抛弃的异常的类型与catch语句的异常类型相匹配.由于C++使用数据类型来区分不同的异常,因此在判断异常时,throw语句中的

throw与throws、层层抛出异常

一: throw 关键字throw用于抛出异常 抛除异常后处理 使用try-catch捕获异常 使用throws声明异常 语法 throw new 异常类构造方法; throw new Exception(); static int avg(int n1,int n2)throws CustomException{ if (n1<0||n2<0) { //判断方法参数是否满足条件 throw new CustomException("不能使用负数");//错误信息 } if

【Java面试题】22 JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?

throws是获取异常throw是抛出异常try是将会发生异常的语句括起来,从而进行异常的处理,catch是如果有异常就会执行他里面的语句,而finally不论是否有异常都会进行执行的语句. throw和throws的详细区别如下: throw是语句抛出一个异常.语法:throw (异常对象);         throw e; throws是方法可能抛出异常的声明.(用在声明方法时,表示该方法可能要抛出异常)语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]

抛出异常-throws和throw

package com.mpp.test; import java.util.Scanner; public class TryDemoFour { public static void main(String[] args) { try { testAge(); } catch (Exception e) { e.printStackTrace(); } } /** * throw抛出异常对象的处理方案 * 1. 通过try.catch包含throw的语句--自己抛出自己处理 * 2. 通过t

throw跟throws关键字

定义一个方法的时候可以使用throws关键字声明.使用throws关键字声明的方法表示此方法不处理异常,而交给方法调用处进行处理. throws关键字格式: public 返回值类型 方法名称(参数列表,,,)throws 异常类{}: 假设定义一个除法,对于除法操作可能出现异常,可能不会.所以对于这种方法最好将它使用throws关键字声明,一旦出现异常, 则应该交给调用处处理. class Math{ public int div(int i,int j) throws Exception{