java中自定义异常& 编译时异常&运行时异常
来源:互联网 发布:马鞍山电视网络大学 编辑:程序博客网 时间:2024/06/05 02:48
编译时异常&运行时异常
A: 编译时期异常:是Exception的子类,非RuntimeExcpetion的子类,在编译时期必须处理
B:RuntimeException和他的所有子类异常,都属于运行时期异常。NullPointerException,ArrayIndexOutOfBoundsException等都属于运行时期异常.
运行时期异常的特点:
方法中抛出运行时期异常,方法定义中无需throws声明,调用者也无需处理此异常
运行时期异常一旦发生,需要程序人员修改源代码.
package com.itheima_01;import java.io.FileWriter;import java.io.IOException;/* * 异常的分类:运行时期异常:RuntimeException的子类就是运行时期异常,在编译时期可以自由选择处理或者不处理编译时期异常:是Exception的子类,非RuntimeExcpetion的子类,在编译时期必须处理 */public class ExceptionDemo6 {public static void main(String[] args) {//System.out.println(2 / 0);//String s = null;//System.out.println(s.length());try {FileWriter fw = new FileWriter("a.txt");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
自定义异常
需求:写一个方法,接受考试成绩,如果考试成绩的范围在0-100之间则属于正常,否则属于异常
案例代码:
当成绩不在0~100范围内,抛出一个运行时异常或者编译时异常,阻止程序继续向下执行
package com.itheima_01;/* * 需求:写一个方法,接受考试成绩,如果考试成绩的范围在0-100之间则属于正常,否则属于异常 * * throws:处理异常的一种方式,把异常抛出,由调用者来处理 * throw:制造异常的方式,并且结束方法 * * 注意:如果抛出(throw)的是编译时期异常,必须在方法声明处抛出(throws) * * 如何自定义一个异常类呢? * 非常简单,写一个类去继承Exception或者RuntimeException,然后实现多个构造即可 * * */public class ExceptionDemo7 {public static void main(String[] args) {/*boolean flag = checkScore(-10);System.out.println(flag);*/try {checkScore(110);} catch (Exception e) {//System.out.println(e.getMessage());e.printStackTrace();}//checkScore(110);}/*public static boolean checkScore(int score) {//判断考试成绩是否符合范围,如果不符合则返回falseif(score < 0 || score > 100) {return false;}//符合return true;}*/public static void checkScore(int score) throws Exception {if(score < 0 || score > 100) {throw new RuntimeException("考试成绩不符合要求");//throw new Exception("考试成绩不符合要求");} System.out.println("考试成绩符合要求");}}
我们也可以自定义一个编译时异常或者运行时异常来抛出:
package com.itheima_01;public class MyException extends /*RuntimeException*/ Exception{public MyException() {super();// TODO Auto-generated constructor stub}public MyException(String message) {super(message);// TODO Auto-generated constructor stub}/*public MyException() {super();}public MyException(String s) {super(s);}*/}package com.itheima_01;/* * 需求:写一个方法,接受考试成绩,如果考试成绩的范围在0-100之间则属于正常,否则属于异常 * * throws:处理异常的一种方式,把异常抛出,由调用者来处理 * throw:制造异常的方式,并且结束方法 * * 注意:如果抛出(throw)的是编译时期异常,必须在方法声明处抛出(throws) * * 如何自定义一个异常类呢? * 非常简单,写一个类去继承Exception或者RuntimeException,然后实现多个构造即可 * * */public class ExceptionDemo7 {public static void main(String[] args) {/*boolean flag = checkScore(-10);System.out.println(flag);*/try {checkScore(110);} catch (Exception e) {//System.out.println(e.getMessage());e.printStackTrace();}//checkScore(110);} public static void checkScore(int score) throws Exception {if(score < 0 || score > 100) { throw new MyException("考试成绩不符合要求");} System.out.println("考试成绩符合要求");}}
阅读全文
0 0
- java中自定义异常& 编译时异常&运行时异常
- 编译时异常、运行时异常、自定义异常-Java
- 自定义异常类、运行时异常与编译时异常
- java 异常-运行时异常
- 自定义运行时异常
- Java之运行时异常与编译时异常区别
- Java 异常: 编译时和运行时异常
- Java之运行时异常与编译时异常区别
- Java编译时异常与运行时异常
- Java之运行时异常与编译时异常区别
- Java编译时异常和运行时异常
- Java编译时异常和运行时异常
- java运行时异常和编译时异常的区别
- java编译时异常和运行时异常
- java运行时异常与编译时异常
- 运行时异常和编译时异常
- 运行时异常/编译时异常
- 运行时异常和编译时异常
- dll的概念、dll导出类
- Java 冒泡排序
- Linux系统--awk命令
- SharePoint 2016 Project 调出管理用户
- 2017-06-01总结
- java中自定义异常& 编译时异常&运行时异常
- 事件过滤器
- 仿QQ语言变声功能
- Qstring转char*
- JS基础 面向对象方式写选项卡
- load命令
- Unity场景自动保存工具
- utf8_general_ci、utf8_unicode_ci和utf8_bin的区别
- arm下gdb调试和杀线程以及make编译