Java异常处理-----抛出处理
2016-07-24 16:50
645 查看
抛出处理
定义一个功能,进行除法运算例如(div(int x,int y))如果除数为0,进行处理。
功能内部不想处理,或者处理不了。就抛出使用throw new Exception(“除数不能为0”); 进行抛出。抛出后需要在函数上进行声明,告知调用函数者,我有异常,你需要处理如果函数上不进行throws 声明,编译会报错。例如:未报告的异常
5:main方法中调用除法功能
调用到了一个可能会出现异常的函数,需要进行处理。
1:如果调用者没有处理会编译失败。
如何处理声明了异常的函数。
1:try{}catch(){}
2:继续抛出throws
throw和throws的区别
1.相同:都是用于做异常的抛出处理的。
2.不同点:
1.使用的位置: throws 使用在函数上,throw使用在函数内
2.后面接受的内容的个数不同:
1.throws 后跟的是异常类,可以跟多个,用逗号隔开。
2.throw 后跟异常对象。
总结
1.try语句不能单独存在,可以和catch、finally组成 try…catch…finally、try…catch、try…finally三种结构。
2.catch语句可以有一个或多个,finally语句最多一个,try、catch、finally这三个关键字均不能单独使用。
3.try、catch、finally三个代码块中变量的作用域分别独立而不能相互访问。如果要在三个块中都可以访问,则需要将变量定义到这些块的外面。
4.多个catch块时候,Java虚拟机会匹配其中一个异常类或其子类,就执行这个catch块,而不会再执行别的catch块。(子类在上,父类在下)。
5.throw语句后不允许有紧跟其他语句,因为这些没有机会执行。
6.如果一个方法调用了另外一个声明抛出异常的方法,那么这个方法要么处理异常,要么声明抛出。
【正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个“顶”字,你就顺手把它点了吧(要先登录CSDN账号哦 )】
定义一个功能,进行除法运算例如(div(int x,int y))如果除数为0,进行处理。
功能内部不想处理,或者处理不了。就抛出使用throw new Exception(“除数不能为0”); 进行抛出。抛出后需要在函数上进行声明,告知调用函数者,我有异常,你需要处理如果函数上不进行throws 声明,编译会报错。例如:未报告的异常
java.lang.Exception;必须对其进行捕捉或声明以便抛出
throw new Exception("除数不能为0");
public static void div(int x, int y) throws Exception { // 声明异常,通知方法调用者。 if (y == 0) { throw new Exception("除数为0"); // throw关键字后面接受的是具体的异常的对象 } System.out.println(x / y); System.out.println("除法运算"); }
5:main方法中调用除法功能
调用到了一个可能会出现异常的函数,需要进行处理。
1:如果调用者没有处理会编译失败。
如何处理声明了异常的函数。
1:try{}catch(){}
public static void main(String[] args) { try { div(2, 0); } catch (Exception e) { e.printStackTrace(); } System.out.println("over"); }
public static void div(int x, int y) throws Exception { // 声明异常,通知方法调用者。 if (y == 0) { throw new Exception("除数为0"); // throw关键字后面接受的是具体的异常的对象 } System.out.println(x / y); System.out.println("除法运算"); }
}
2:继续抛出throws
class Demo { public static void main(String[] args) throws Exception { div(2, 0); System.out.println("over"); } public static void div(int x, int y) throws Exception { // 声明异常,通知方法调用者。 if (y == 0) { throw new Exception("除数为0"); // throw关键字后面接受的是具体的异常的对象 } System.out.println(x / y); System.out.println("除法运算"); } }
throw和throws的区别
1.相同:都是用于做异常的抛出处理的。
2.不同点:
1.使用的位置: throws 使用在函数上,throw使用在函数内
2.后面接受的内容的个数不同:
1.throws 后跟的是异常类,可以跟多个,用逗号隔开。
2.throw 后跟异常对象。
//throws 处理 public static void main(String[] args) throws InterruptedException { Object obj = new Object(); obj.wait(); } public static void main(String[] args) { //try catch 处理 Object obj = new Object(); try { obj.wait(); } catch (InterruptedException e) { e.printStackTrace(); } }
总结
1.try语句不能单独存在,可以和catch、finally组成 try…catch…finally、try…catch、try…finally三种结构。
2.catch语句可以有一个或多个,finally语句最多一个,try、catch、finally这三个关键字均不能单独使用。
3.try、catch、finally三个代码块中变量的作用域分别独立而不能相互访问。如果要在三个块中都可以访问,则需要将变量定义到这些块的外面。
4.多个catch块时候,Java虚拟机会匹配其中一个异常类或其子类,就执行这个catch块,而不会再执行别的catch块。(子类在上,父类在下)。
5.throw语句后不允许有紧跟其他语句,因为这些没有机会执行。
6.如果一个方法调用了另外一个声明抛出异常的方法,那么这个方法要么处理异常,要么声明抛出。
【正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个“顶”字,你就顺手把它点了吧(要先登录CSDN账号哦 )】
相关文章推荐
- 使用eclipse自带插件生产WebService客户端代码
- 运行Eclipse出错:Failed to load the JNI shared library
- Java8 Spliterator 接口 原理
- RandomAccessFile
- 一、javaSE总结
- 线程基础二--卖票问题
- Java异常处理-----自行处理
- Java异常处理-----自行处理
- java面向对象
- Java非证书下的加密解密过程小解析
- Spring 中bean 的生命周期(转载)
- java内存模型(一)
- JAVA学习笔记之IO详解一
- java 部分隐藏字段
- spring技术框架基础知识三属性编辑器
- Java异常处理-----程序中的异常处理.启蒙
- Java异常处理-----程序中的异常处理.启蒙
- spring简单入门示例
- Java中的for循环介绍
- 转换流指定编码表utf-8写入文件