java中异常的抛出:throw throws

Java中的异常抛出

语法:

public class ExceptionTest{
public void 方法名(参数列表) throws 异常列表{
//调用会抛出异常的方法或者抛出新的异常(throw new Exception();)
}
}

注:throws 异常列表位于方法体之前,可抛出多种类型的异常,每个类型之间用逗号隔开

例如:

public class ExceptionTest{
public void divide(int one,int two) throws Exception{
if(two==0){
throw new Exception("两数相除,除数不能为0!");
}
else{
System.out.println("两数相除,结果为:"+one/two);
}
}
}

如果某个方法调用到了会抛出异常的方法,有以下两种解决方案:

1.添加try-catch去捕获异常进行处理

例如:

public class ExceptionTest {
public static void main(String[] args) {
try{
divide(5,0); // 调用了会抛出异常的方法divide();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
public static void divide(int one,int two) throws Exception{
if(two==0){
throw new Exception("两数相除,除数不能为0!");
}
else{
System.out.println("两数相除,结果为:"+one/two);
}
}
}

运行结果:

两数相除,除数不能为0!

2.添加throws声明将异常抛出给更上一层的调用者(此方法无法处理异常,将异常再次抛出)

nice ,马飞~

例如:

public class ExceptionTest {
public static void main(String[] args) throws Exception { //添加throws声明
divide(5,0);
}
public static void divide(int one,int two) throws Exception{
if(two==0){
throw new Exception("两数相除,除数不能为0!");
}
else{
System.out.println("两数相除,结果为:"+one/two);
}
}
}

java中异常的抛出:throw throws的更多相关文章

  1. Java中异常关键字throw和throws使用方式的理解

    Java中应用程序在非正常的情况下停止运行主要包含两种方式: Error 和 Exception ,像我们熟知的 OutOfMemoryError 和 IndexOutOfBoundsExceptio ...

  2. Java中异常分类和Throw和Throws的区别

    Java中异常分类和Throw和Throws的区别 1.异常分类 Throwable是Java中所有错误和异常的超类.它的下一级是Error和Exception 1.1 Error(错误) Error ...

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

    5.抛出throw关键字 马克-to-win:我们先说5/0的原理,当程序运行到5/0的时候,java系统JVM会在后台new出一个除0异常实例,之后把这个实例传入catch块儿供开发者使用.马克-t ...

  4. Java throw:异常的抛出怎么回事

    到目前为止,你只是获取了被Java运行时系统抛出的异常.然而,程序可以用throw语句抛出明确的异常.Throw语句的通常形式如下:    throw ThrowableInstance;这里,Thr ...

  5. Java知多少(49)throw:异常的抛出

    到目前为止,你只是获取了被Java运行时系统抛出的异常.然而,程序可以用throw语句抛出明确的异常.Throw语句的通常形式如下:    throw ThrowableInstance;这里,Thr ...

  6. 浅谈java中异常抛出后代码是否会继续执行

    问题 今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element) ...

  7. 六. 异常处理7.throw:异常的抛出

    到目前为止,你只是获取了被Java运行时系统抛出的异常.然而,程序可以用throw语句抛出明确的异常.Throw语句的通常形式如下:    throw ThrowableInstance;这里,Thr ...

  8. Java中异常的基本应用(一)

    在Java中,我们把异常当做一种对象来处理,正是异常机制的引入,使得我们的程序更加健壮.异常指示了一个不正常的条件,或者一个错误条件,简单地说就是一个中断了正常的指令流的事件.程序控制将无条件的抛至一 ...

  9. JAVA中异常状况总结

    之前在<会当凌绝顶>这本书中学到过对于异常处理的知识,当时也是根据书上的代码,自己进行编写大概知道是怎么回事儿,王老师给我们上了一节课之后,发现异常处理可以发挥很大的作用.  通过在网络上 ...

随机推荐

  1. RequireJS - 快速指南

    原文: https://www.tutorialspoint.com/requirejs/requirejs_quick_guide.htm RequireJS - 概述 RequireJS是一个Ja ...

  2. WMS培训20190907

    SELECT * FROM WMSADMIN.SPROCEDUREMAP WHERE THEPROCNAME ='NSPBEFOREORDERWRITE' 二,. RF中页面中需要增加申请人,而成品仓 ...

  3. SDN实验---Mininet实验(模拟多数据中心带宽实验)

    补充:NameError: name 'buffer' is not defined >>> import sys >>> ,): ... buffer = mem ...

  4. 类加载器ClassLoader源码解析

    1.ClassLoader作用 类加载流程的"加载"阶段是由类加载器完成的. 2.类加载器结构 结构:BootstrapClassLoader(祖父)-->ExtClassL ...

  5. Laya一个莫名其妙的报错laya.pathfinding

    版本2.2.0 莫名其妙,然后论坛查了下 把类库设置,不勾选这玩意就不报错了.

  6. jw python 培训帮助 手册

    #########sample 1  (如果python 遇到有问题,就求助于 help 命令,python 是 个人开发的胶水语言,因此不具备 java,c++的类的继承关系) Python hel ...

  7. beetl模版for循环渲染字符串

    beetl for循环渲染html字符串的方式, beetl if条件判断输出, beet自定义标签和标签引用, beetl html赋值, beetl渲染json,beetl注释.变量定义, 更多文 ...

  8. html2canvas 将网页截图为图片,上传base64 到服务端

    await html2canvas(getById("winyh"), { height:500, allowTaint: true, useCORS: true, }).then ...

  9. 为什么var可以重复声明

    总结自:https://blog.csdn.net/DurianPudding/article/details/87953939 一言以蔽之:编辑器会在作用域判断这是重名声明时,忽略var直接赋值 首 ...

  10. [LeetCode] 622.Design Circular Queue 设计环形队列

    Design your implementation of the circular queue. The circular queue is a linear data structure in w ...