Java基础——异常处理
2016-02-03 23:08
585 查看
异常的层次结构
所有的异常类都是 java.lang.Exception 类的子类型。异常类都是 Throwable 类的子类。除了异常类 Error 类也是由 Throwable 类产生的的子类
1. public String getMessage()
返回关于发生异常的细节信息,这些信息在Throwable的构造函数中被初始化
2. public Throwable getCause()
返回发生异常的原因,由 Throwable 对象来表示
3. public String toString()
返回与getMessage()的结果相联系的类的名称
4. public void printStackTrace()
打印 toString()跟踪错误输出流的栈地址的结果
5. public StackTraceElement [] getStackTrace()
返回一个数组,其中包含每个元素在栈的地址,元素的索引0代表调用栈的顶部,最后一个元素表示方法调用栈的底部
6. public Throwable fillInStackTrace()
用当前栈地址来填充 Throwable 对象的栈地址,添加到任何先前的栈地址信息
即使在到达finally块之前有一个return语句,finally块还是会执行。
InsufficientFundsException.java
/article/5092853.html
所有的异常类都是 java.lang.Exception 类的子类型。异常类都是 Throwable 类的子类。除了异常类 Error 类也是由 Throwable 类产生的的子类
1. public String getMessage()
返回关于发生异常的细节信息,这些信息在Throwable的构造函数中被初始化
2. public Throwable getCause()
返回发生异常的原因,由 Throwable 对象来表示
3. public String toString()
返回与getMessage()的结果相联系的类的名称
4. public void printStackTrace()
打印 toString()跟踪错误输出流的栈地址的结果
5. public StackTraceElement [] getStackTrace()
返回一个数组,其中包含每个元素在栈的地址,元素的索引0代表调用栈的顶部,最后一个元素表示方法调用栈的底部
6. public Throwable fillInStackTrace()
用当前栈地址来填充 Throwable 对象的栈地址,添加到任何先前的栈地址信息
即使在到达finally块之前有一个return语句,finally块还是会执行。
package Test; import java.util.Scanner; public class test1 { public static void main(String[] args) throws InsufficientFundsException{ Scanner input = new Scanner(System.in); System.out.println("Enter two integers: "); int number1 = input.nextInt(); int number2 = input.nextInt(); //1. // if(number2 != 0) // System.out.println(number1 + "/" + number2 + " is " + (number1 / number2)); // else // System.out.println("你好"); //2. try{ System.out.println(number1 + "/" + number2 + " is " + (number1 / number2)); } //catch 关键字表示可被捕获的异常 catch(Exception e){ System.out.println("程序存在异常:"+e); }finally { System.out.println("结束"); } //3. if(number2 != 0){ System.out.println(number1 + "/" + number2 + " is " + (number1 / number2)); }else{ //抛出异常 throw new ArithmeticException("错了"); // ArithmeticException ex = new ArithmeticException("OK~"); // System.out.println(ex.getMessage()); // //throw 关键字,称为抛出一个异常 // throw ex; } //4.自定义异常处理 try{ System.out.println("开始"); check_test(); }catch(InsufficientFundsException e){ System.out.println(e.getScore()+"-"+e); }finally{ System.out.println("结束"); } } public static void check_test() throws InsufficientFundsException{ double ac = 1.1; System.out.println("check_test()"); throw new InsufficientFundsException(ac); } }
package Test; public class InsufficientFundsException extends Exception{ private double score; /** * 自定义异常处理方法 * @param score */ public InsufficientFundsException(double score) { super("Hello SuperMan"); this.score = score; } public double getScore(){ return score; } }
InsufficientFundsException.java
/article/5092853.html
相关文章推荐
- 深入分析Java的序列化与反序列化
- java学习心得——navicat数据库的使用
- Kmeans实现 java
- Java中上传文件到服务器端
- JAVA中的命名规范
- 【慕课笔记】U3 继承 第2节 JAVA中的方法重写
- JAVA中访问权限的控制
- 在 JDK 9 中更简洁使用 try-with-resources 语句
- JAVA WEB学习路线
- 附 Java对象内存布局
- 12 jdk1.5特性
- 【慕课笔记】U3 继承 第1节 JAVA中的继承
- JAVA中的包
- 第一章 java环境的配置
- Java多线程用法解析
- SpringJUnit4加载类目录下(src)和WEF-INF目录下的配置文件二--获取注入的bean的二种方式
- springmvc+hibernate
- maven项目中搭建spring框架
- struts2 ResultType为chain的使用
- SpringJUnit4测试--测试无反应/控制台报空指针的解决---junit的jar冲突!