java中的throw和throws区别
1、throws
throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。如下面例子所示:
public class Shoot {static void pop() throws NegativeArraySizeException {//定义方法并抛出NegativeArraySizeException异常int [] arr = new int[-3];//创建数组}public static void main(String[] args) {//主方法try { pop(); //调用pop()方法} catch (NegativeArraySizeException e) {System.out.println("pop()方法抛出的异常");//输出异常信息}}
}
2、throw
throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;如果要捕捉throw抛出的异常,则必须使用try—catch语句。举例如下:
class MyException extends Exception { //创建自定义异常类String message; //定义String类型变量public MyException(String ErrorMessagr) { //父类方法message = ErrorMessagr;}public String getMessage(){ //覆盖getMessage()方法return message;}
}public class Captor { //创建类static int quotient(int x,int y) throws MyException{//定义方法抛出异常if(y < 0){ //判断参数是否小于0throw 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 (ArithmeticException e) {//处理ArithmeticException异常System.out.println("除数不能为0");//输出提示信息}catch (Exception e) { //处理其他异常System.out.println("程序发生了其他的异常");//输出提示信息}}
}
java中的throw和throws区别相关推荐
- 简要解析Java中的throw和throws关键字
解析Java中的throw和throws关键字 1 throws关键字 1.1 作用 向上抛异常,把异常交给调用处处理,实际上自身并没有处理异常. 1.2 原理 一旦方法体出现异常,仍会在异常代码出生 ...
- Java中关键字throw和throws的区别
抛出异常有三种形式 throw throws 系统自动抛异常 一.系统自动抛异常 当程序语句出现一些逻辑错误.主义错误或类型转换错误时,系统会自动抛出异常:(举个栗子) public static v ...
- java中int和integer的区别_Java异常中throw和throws关键字的区别
Java中常常弄混的两个关键字,throw和throws,它们有什么区别呢?如何记忆他们,而不至于出错呢? throw和throws 区别 throws:出现在方法的签名中,声明当前方法可能抛出的所有 ...
- java中的异常种类和区别以及处理机制和区别
java中的异常种类和区别以及处理机制和区别 按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常(也叫非强制性异常)也叫 RuntimeExce ...
- java中Runnable和Callable的区别
文章目录 运行机制 返回值的不同 Exception处理 java中Runnable和Callable的区别 在java的多线程开发中Runnable一直以来都是多线程的核心,而Callable是ja ...
- java中wait和sleep的区别
文章目录 Wait和sleep的区别 唤醒wait和sleep java中wait和sleep的区别 在本篇文章中,我们将会讨论一下java中wait()和sleep()方法的区别.并讨论一下怎么使用 ...
- Java中notify和notifyAll的区别 - 何时以及如何使用
Java notify vs notifyAll notify和notifyAll方法之间有什么区别是棘手的Java问题之一! Condition 是个什么玩意? 提几个问题,从问题中去了解去学 ...
- java中ArrayList和LinkedList的区别
首先来看ArrayList和LinkedList的集成类和接口的区别.// lang java public class ArrayList<E> extends AbstractList ...
- Java中重载和复写的区别
Java中重载和复写的区别 重载(overload) 复写(override) 区别和联系 重载(overload) 函数重载的最突出的例子就是类的构造函数,用户定义一个对象时可能会提供多种参数组合: ...
最新文章
- 强化学习教程来啦!贡献者来自中科院、清华、北大3位男神!
- oracle tochar fm,oracle的to_char中的fm
- 【计算机基础】 操作系统总结(未完)
- 设置打包方式为war
- 使用MyBatista----上传图像
- csv linux java,java 执行Linux 命令合并.csv文件
- java+2e10_CoreJavaE10V1P3.10 第3章 Java的基本编程结构-3.10 数组(Arrays)
- windows 64 搭建RabbitMQ环境
- android点击按钮修改文本,如何在android中每3秒动态更改按钮文本?
- java 文件上传 乱码_java中文传值乱码问题的解决方法
- html5 逐帧播放 代码,html5-video – 使用媒体源扩展进行逐帧解码
- 大行bya412和java513_转:我的折叠生活之大行bya412改装总结
- 西电、成电的风雨往事
- 怎么及时给服务器系统打补丁,技巧:巧打补丁保护服务器安全
- 用canvas画七彩虹伞
- 阿克曼(Ackmann)函数
- Python虚拟环境——virtualenv
- 办公室装修风格都有哪些?
- 基础爬虫案例爬取实战
- java面试题集中了好几篇的搜索的