标签:input class 运行时 equal 程序 jvm otf style 参数
public class Exception extends Throwable
Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。
public class RuntimeException extends Exception
RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。
可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。
① 非运行时异常(Checked Exception)
Java中凡是继承自Exception但不是继承自RuntimeException的类都是非运行时异常
② 运行时异常(Runtime Exception/Unchecked Exception)
a) RuntimeException类直接继承自Exception类,称为运行时异常。Java中所有的运行时异常都直接或间接的继承自RuntimeException.
Java中所有的异常类都直接或间接的继承自Exception。
对应非运行时异常,必须对其进行处理。处理方式有两种:
使用try…catch…finally语句块进行捕获
在产生异常的方法所在的方法声明throws Exception
对于运行时异常,可以不对其进行处理,也可以对其进行处理。一般情况下都不对其进行处理。
try { FileInputStream fs = new FileInputStream("D:/temp/a.txt"); } catch (FileNotFoundException e) { System.out.println("catch..."); e.printStackTrace(); } finally{ System.out.println("finally..."); }
public class ExceptionTest { public static void execute() throws Exception { System.out.println("execute..."); throw new Exception(); } public static void main(String[] args) throws Exception { execute(); } }
public class ExceptionTest { public static void execute() throws Exception { System.out.println("execute..."); throw new Exception(); } public static void main(String[] args) { try { execute(); } catch (Exception e1) { e1.printStackTrace(); } } }
自定义异常通常是定义一个继承自Exception类的子类。一般情况下我们都会直接继承自Exception类,而不会继承某个运行时的异常类。
public class MyException extends Exception{ public MyException(){ super(); } public MyException(String msg){ super(msg); } }
public class ExceptionTest { public static void execute(String a) throws MyException { System.out.println("execute..."); if("true".equals(a)){ throw new MyException("参数不能为 true"); } } }
public static void main(String[] args) throws MyException { execute("true"); }
当使用多个catch语句块来捕获异常时,需要将父类的catch语句块放到子类型的catch块之后,这样才能保证后续的catch可能被执行,否则子类型的catch将永远无法到达,Java编译器会报编译错误。
如果try语句块中存在return语句,那么首先会执行finally语句块中的代码,然后才返回。
如果try语句块中存在System.exit(0)语句,那么久不会执行finally语句块的代码了,因为System.exit(0)会终止当前运行的JVM。程序在JVM终止前结束执行。
标签:input class 运行时 equal 程序 jvm otf style 参数
原文地址:http://www.cnblogs.com/wdpnodecodes/p/7406241.html