public class ExceptionBase {
/*异常的信息的结构:
*异常的线程 异常类信息:异常详情描述
*异常的堆栈信心(告诉你异常出现在代码中的具体位置)
*出现异常的时候,程序中断;
*异常的类层次结构:
*Throwable:所有异常和错误的跟类型
*Error:错误;不能用异常处理机制处理,不在我们研究范围内
*Exception:由于程序编写的漏洞导致的不被期望的情况,可以通过异常处理机制来处理
*RuntimeException:运行时异常的父类异常
*1.编译可以通过,在运行时出现的异常(表面现象)
*2.运行时异常,是由于程序员经验不足导致的常见的异常,jvm自动处理(抛出异常信息);
*非运行时异常:
*1.在使用特定的功能的时候才有可能出现的异常
*2.需要程序员使用异常处理机制,自己处理;
*
*/
public static void main(String[] args)
{
demo();
}
//下标越界 IndexOutOfBonesException
public static void demo(){
String str = "123";
char ch = str.charAt(3);
System.out.println("程序继续执行");
}
//类型转换 ClassCastException
public static void demo1(){
Object str = "123";
Person per = (Person)str;
}
//空指针 NullPotinerException
public static void demo2(){
String str = null;
str.length();
}
//数学异常 ArithmeticException
public static void demo3(){
int a = 2;
int b = 0;
System.out.println(a/b);
}
}
更多Java知识请访问:How2J 的 Java教程