标签:pre 结束 str stack 定义 运行时异常 资源 运行 class
package com.java.exception; class FushuindexException extends RuntimeException{ FushuindexException(){} FushuindexException(String a){ super(a); } } class Array{ Array(int[] arr,int index)/*throws FushuindexException*/{ if(index<0){ throw new FushuindexException("数组角标为负数了"); } } } public class Throwexception { public static void main(String[] args)/*throws FushuindexException*/{ /*int[] arr=new int[5]; new Array(arr,-1);*/ medth(); } public static void medth(){ int[] brr=new int[4]; try{ new Array(brr,-1); }catch(FushuindexException e){ e.printStackTrace(); } } } /*
Throwable类是java语言中所有错误和异常的父类,它继承Object类。
Throwable:
子类--|Error类 表示程序中止,致命的错误,一般和硬件有关(通常不处理)
--|Exception类 异常
异常的分类:1.编译时检测的异常:既是继承Exception类的子类(不包括RuntimeException和一些特殊的子类) 需要在可能出现异常的函数上进行声明,throws,而且必须进行异常处理。 2.编译时不检测,运行时检测的异常:就是继承RuntimeException的子类,不需要进行声明的 对异常处理的两中方法:1.对可能出现异常的函数进行声明,如果出现异常则抛出异常,程序结束运行。 2.对可能出现异常的函数语句进行监控,如果出现异常则进行捕捉,由事先写好的处理语句来进行处理程序正常执行。 throws和throw的作用:1.throws是对可能出现异常的函数进行声明的 2.throw是抛出异常的 try,catch,finally的作用:1.try{//放入需要被检测异常的代码} 2.catch(//放入的是需要被检测异常的引用){//放入处理异常的方法} 3.finally{//放入的是一定要执行的代码,一般是关闭资源的入口管道代码} 多catch的情况:如果一个函数有多个异常的声明,在try{}中发现异常,多个catch(){}进行捕获时父类的Exception引用放在最后的catch中。
自定义异常:若继承Exception类表示自定义异常是编译时异常,必须进行异常处理,若继承RuntimeException表示是运行时异常,不必须进行异常处理。
通常不继承(Error类和throwable类)因为没有意义。 */
标签:pre 结束 str stack 定义 运行时异常 资源 运行 class
原文地址:https://www.cnblogs.com/zhanqiangqiang/p/9978642.html