异常指的是运行期出现的错误就是java时的错误而不是javac编译时的错误。java
异常有系统型问题error,这个是虚拟机层面的咱们没法作处理。数组
Exception通常都须要咱们处理,RuntimeException是一些常常出现的错误,咱们能够选择处理或者不处理,如数组下标越界等错误。spa
当系统出现Exception时,系统会寻找能够处理这个异常的catch语句,若是没找到的话系统就会抛出这个异常。虚拟机
catch不能单独出现,必定是有try时才有catch。io
当处理Exception时,咱们先将可能会问题的代码放在try{}中若是没问题的话,执行完try代码块中的代码就不执行下面的catch{}代码块了,若是有问题的话系统直接不执行有问题的那行代码的下面的代码,直接进入catch代码块执行catch代码块中的内容。编译
当try-catch语句下还有finally语句时,系统无论有没有异常都会执行finally代码块中的内容。程序
当调用一个方法时,该方法已经声明有异常,那么你要么在你的方法中try-catch住这个异常,要么你继续往上抛异常,直到有方法处理它,否则的话一直抛到main方法,main方法也抛出去那么程序就中止执行。方法
catch异常时候必定要按照先catch小的异常再catch大的异常。im