异常
Throwable类是Java语言中所有错误Error和异常Exception的Throwable类
*
* Throwable:
* ----Error:错误的意思
* ----StackOverflowError:当堆栈溢出发生时抛出一个应用程序递归太深。
* ----NoClassDefFoundError:找不到或无法加载主类
* ----NoSuchMethodError:没有此方法错误
* ----OutOfMemoryError :内存溢出错误
*
* ----Exception:异常的意思
* ----NullPointerException: 空指针异常
* ----ArrayIndexOutOfBoundsException:数组下标/角标越界异常
* ----AritchmeticException:算术异常
* ----ClassCastException: 造型异常 类转换异常
*
*/
package exception; /** * 这个类是讲述异常的概述 * @ClassName: Demo3Throwable.java * @Description: TODO * @author Jim老师 * @version jdk8.0 * @Date 2018年9月7日 下午9:06:00 无敌是多么的寂寞 男人不能说不行,不行也得行 */ /* * Throwable类是Java语言中所有错误Error和异常Exception的Throwable类 * * Throwable: * ----Error:错误的意思 * ----StackOverflowError:当堆栈溢出发生时抛出一个应用程序递归太深。 * ----NoClassDefFoundError:找不到或无法加载主类 * ----NoSuchMethodError:没有此方法错误 * ----OutOfMemoryError :内存溢出错误 * * ----Exception:异常的意思 * ----NullPointerException: 空指针异常 * ----ArrayIndexOutOfBoundsException:数组下标/角标越界异常 * ----AritchmeticException:算术异常 * ----ClassCastException: 造型异常 类转换异常 * */ public class Demo3Throwable { public static void main(String[] args) { // show(); // show2(); int[] in=null; // int num=in.length; //1:存了一个元素 0:代表一个元素都没有存 String[] str=new String[0]; // System.out.println(str[0]); // int i=1/0; Animal animal=new Cat(); //强转:把猫变成小鸟 // Bird bird=(Bird) animal; } static int num=0; public static void show2(){ byte[] byte1=new byte[1024*1024*1024]; num++; if(num==5){ return ; } show2(); } public static void show(){ show(); } } class Animal{} class Cat extends Animal {} class Bird extends Animal{} /* * Exception in thread "main" java.lang.ArithmeticException: / by zero 异常 在 main线程中 java文件夹里面lang文件夹里面的算术异常类 除以0了 at exception.Demo3Throwable.main(Demo3Throwable.java:41) 在exception文件夹中Demo3Throwable类中main函数中第41 */
Exception:
* -----编译时异常:编译的时候就会有异常,除了运行时异常,就是它了。
* 它必须处理才能运行:处理有两种方式(一种抛出异常,二种抓)
* ----FileNotFoundException: 找不到文件异常
* ----InterruptedException: 中断异常
*
* -----运行时异常RuntimeException:RuntimeException及其子类都是运行时异常
* 可以编译通过,能运行,运行的时候报异常,不需要处理可以运行,但是有异常还是有异常
* -------ArithmeticException : 算术异常
* -------NullPointerException: 空指针异常
* -------ArrayIndexOutOfBoundsException:数组下标越界异常。
* -------ClassCastException : 造型异常
*
package exception; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * 这个类是讲述异常的分类 * @ClassName: Demo4RuntimeException.java * @Description: TODO * @author Jim老师 * @version jdk8.0 * @Date 2018年9月7日 下午10:09:16 无敌是多么的寂寞 男人不能说不行,不行也得行 */ /* * Exception: * -----编译时异常:编译的时候就会有异常,除了运行时异常,就是它了。 * 它必须处理才能运行:处理有两种方式(一种抛出异常,二种抓) * ----FileNotFoundException: 找不到文件异常 * ----InterruptedException: 中断异常 * * -----运行时异常RuntimeException:RuntimeException及其子类都是运行时异常 * 可以编译通过,能运行,运行的时候报异常,不需要处理可以运行,但是有异常还是有异常 * -------ArithmeticException : 算术异常 * -------NullPointerException: 空指针异常 * -------ArrayIndexOutOfBoundsException:数组下标越界异常。 * -------ClassCastException : 造型异常 * */ public class Demo4RuntimeException { public static void main(String[] args) throws FileNotFoundException, InterruptedException { // test1(); // System.out.println("game over!"); // // test2(); test3(); } public static void test3(){ // int i=10/0; String[] strings=null; // System.out.println(strings.length); int[] in=new int[0]; //0:一个都没有 但是有堆 // System.out.println(in[0]); //访问第一个元素 } public static void test1() throws FileNotFoundException { //字符输出流:读取文件 FileReader fileReader=new FileReader("test1.txt"); } public static void test2() throws InterruptedException{ Thread.sleep(100); //暂停100毫秒 1秒=1000毫秒 } }
package exception;
/** * 这个类是讲述异常的概述 * @ClassName: Demo3Throwable.java * @Description: TODO * @author Jim老师 * @version jdk8.0 * @Date 2018年9月7日 下午9:06:00 无敌是多么的寂寞 男人不能说不行,不行也得行 *//* * Throwable类是Java语言中所有错误Error和异常Exception的Throwable类 * * Throwable: * ----Error:错误的意思 * ----StackOverflowError:当堆栈溢出发生时抛出一个应用程序递归太深。 * ----NoClassDefFoundError:找不到或无法加载主类 * ----NoSuchMethodError:没有此方法错误 * ----OutOfMemoryError :内存溢出错误 * * ----Exception:异常的意思 * ----NullPointerException: 空指针异常 * ----ArrayIndexOutOfBoundsException:数组下标/角标越界异常 * ----AritchmeticException:算术异常 * ----ClassCastException: 造型异常 类转换异常 * */public class Demo3Throwable { public static void main(String[] args) {// show();// show2(); int[] in=null;// int num=in.length; //1:存了一个元素 0:代表一个元素都没有存 String[] str=new String[0];// System.out.println(str[0]); // int i=1/0; Animal animal=new Cat(); //强转:把猫变成小鸟// Bird bird=(Bird) animal; } static int num=0; public static void show2(){ byte[] byte1=new byte[1024*1024*1024]; num++; if(num==5){ return ; } show2(); } public static void show(){ show(); }}class Animal{}class Cat extends Animal {}class Bird extends Animal{}/* * Exception in thread "main" java.lang.ArithmeticException: / by zero 异常 在 main线程中 java文件夹里面lang文件夹里面的算术异常类 除以0了at exception.Demo3Throwable.main(Demo3Throwable.java:41)在exception文件夹中Demo3Throwable类中main函数中第41
*/