当程序违反了语义,JVM就会抛出异常,并在catch中捕获
java.lang.Thrable是所有异常类的父类
java的throwable有两个子类分别是:
Error:一般指不可恢复的异常,例如OutofMemoryError,JVM会自动终止
Exception 表示可恢复异常,包括检查异常和运行异常
检查异常:Io异常和SQL异常<编译时异常>
运行时异常:编译器并没有强制捕获,用户可以捕获也可以抛出
如果用户抛出,系统会一层一层的向上抛出,知道遇到处理代码为止,否则一直向上抛
如果是多线程就用Thread.run()方法抛出
如果是单线程则有main()抛出
如果是主线程抛出线程就退出了
注意:先捕获子类在捕获父类
2:对于运行时异常,根本不用处理
3:用户自定于异常需继承Excpetion类
java.lang.Thrable是所有异常类的父类
java的throwable有两个子类分别是:
Error:一般指不可恢复的异常,例如OutofMemoryError,JVM会自动终止
Exception 表示可恢复异常,包括检查异常和运行异常
检查异常:Io异常和SQL异常<编译时异常>
运行时异常:编译器并没有强制捕获,用户可以捕获也可以抛出
如果用户抛出,系统会一层一层的向上抛出,知道遇到处理代码为止,否则一直向上抛
如果是多线程就用Thread.run()方法抛出
如果是单线程则有main()抛出
如果是主线程抛出线程就退出了
注意:先捕获子类在捕获父类
2:对于运行时异常,根本不用处理
3:用户自定于异常需继承Excpetion类