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

package com.exception.demo;

public class Captor {

	/**
	 * @param args
	 * Exception是所有异常类的父类
	 * 如果将它的代码块方其他两个代码块前面,后面的代码块将永远得不到执行
	 * 所以 catch 语句的顺序不可调换
	 *
	 * 异常的使用原则:
	 *    1.在当前方法中使用 try - catch 语句捕获异常
	 *    2.一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类
	 *    3.如果父类抛出多个异常,则覆盖方法必须抛出那些异常的一个子集,不能抛出新异常
	 */
	static int quotient(int x,int y)throws MyException{	// 定义方法抛出异常
		if(y < 0){	// 判断参数是否小于0
			throw new MyException("除数不能是负数");	// 异常信息
		}
		return x / y;	//  返回值
	}

	public static void main(String[] args) {	// 主方法
		try {	// try语句包含可能发生异常的语句
			int result = quotient(3, -1);	// 调用语句方法 quotient()
		} catch (MyException e) {	// 处理自定义异常
			System.out.println(e.getMessage());	//输出异常信息
		}catch (ArrayStoreException e) {	// 处理 ArrayStoreException 异常
			System.out.println("除数不能为0");	// 输出异常信息
		}catch (Exception e) {	// 处理其它异常
			System.out.println("程序发生了其他异常");	//输出提示信息
		}
	}

}

class MyException extends Exception {	// 创建自定义异常类
	String message;	// 定义 String 类型变量

	public  MyException(String ErrorMessager){	// 父类方法
		message = ErrorMessager;
	}

	public String getMessage(){	// 覆盖 getMessage() 方法
		return message;
	}

}

  

时间: 2024-10-26 19:15:27

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

java中抛出throw关键字是怎么用的? 举例?

5.抛出throw关键字   (视频下载) (全部书籍) 马克-to-win:我们先说5/0的原理,当程序运行到5/0的时候,java系统JVM会在后台new出一个除0异常实例,之后把这个实例传入catch块儿供开发者使用.马克-to-win:而这里throw new Exception();是开发者自己主动new出一个异常实例,之后把这个实例传入catch块儿供开发者自己使用.马克-to-win:对于catch来讲,不管谁抛的,处理起来都一样. (新手必须忽略)意义是什么?见后面的sun的例子

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

javascript中数组的22种方法 (转载)

前面的话 数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍 对象继承方法 数组是一种特殊的对象,继承了对象Object的toString().toLocaleString()和valueOf()方法 [toString()] toString()方法返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串 [注意]该方法的返回值与不使用任何参数

javascript中数组的22种方法

× 目录 [1]对象继承 [2]数组转换 [3]栈和队列[4]数组排序[5]数组拼接[6]创建数组[7]数组删改[8]数组位置[9]数组归并[10]数组迭代[11]总结 前面的话 数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍 对象继承方法 数组是一种特殊的对象,继承了对象Object的toString().toLocaleString()和val

Java -- 异常的捕获及处理 -- throws与throw关键字

7.2 throws 与 throw关键字 7.2.1 throws 关键字 在定义一个方法时可以使用throws关键字声明,使用throws声明的方法标识此方法不处理异常,而交给方法的调用处进行处理. 例:使用throws关键字 例:处理异常 提示: 在主方法中也可以使用throws关键字,但主方法为程序的起点,所以此时主方法再向上抛异常,则只能将异常抛给JVM进行处理.主方法为一切的起点,如果在主方法中使用throws,则程序出现问题后肯定交由JVM进行处理,将导致程序中断,不建议在主方法上

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

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

Java中的throws与throw关键字

作者:苗老师,华清远见嵌入式学院讲师. Java中的异常处理还是比较有意思的!就是该你管就你管,不是你该管的,最好不要越级管理!不然我这级管理存在就没有意义! Java的异常处理是通过5个关键字来实现的:try,catch,throw,throws,finally.这里我主要说一下throw,throws. throws语句 throws总是出现在方法声明时,用来标明该成员方法可能抛出异常.如果是多个异常,使用逗号隔开.对大 多数Exception子类来说,Java 编译器会强迫你声明在一个成员

C#中如果用await关键字来await一个为null的Task对象会抛出异常

await & async模式是C#中一个很重要的特性,可以用来提高异步程序(多线程程序)的执行效率.但是如果尝试用await关键字来await一个为null的Task对象,会导致程序抛出NullReferenceException异常. 新建一个.NET Core控制台项目,贴入如下代码: using System; using System.Threading; using System.Threading.Tasks; namespace AwaitNull { class Program

java中异常处理机制 throw抛出自定义业务逻辑异常 throws继续抛出 catch捕获后会自动继续抛向调用方法

package com.swift; public class Exception_TestC { public static void main(String[] args) { /* * 第5题: 有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个 * 方法a,请在这个方法中调用b,然后抛出异常.在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕 捉异常的信息.Java异常的处理机制 * * 如果try或cat