-
异常的三种类型
1.检查型异常:通常是由用户错误或者问题引起,是程序员无法预见的,例如用户要打开一个不存在的文件...
2.运行时异常:最有可能被程序员忽略的异常,可以在编译时被忽略,例如无限递归调用的栈溢出...
3.错误ERROR:错误不是异常,是脱离程序员控制的问题。例如栈溢出...
-
try-catch
int b=0; try{//监控区域 System.out.printIn(1/b); }catch(ArithmeticException e){//如果监控区域有ArithmeticException类型错误,则执行该代码块 System.out.printIn("出现异常"); }finally{//善后工作 ... }
关于catch中的错误类型,有以下常用类型,类型越高级,能捕获的异常就越多
生成错误捕获的快捷键
选中代码块“Ctrl+Alt+t”
可以看到,此快捷键还可以生成多种代码块,例如if-else , while等等
-
throw和throws
public void readFile(int a,int b) throws Exception 1,Exception2,…{ if(b==0) throw new ArithmeticException();//主动抛出异常 }
当一个方法产生一个它不处理的异常时,那么就需要在该方法的头部声明这个异常,以便将该异常传递到方法的外部进行处理。使用 throws 声明的方法表示此方法不处理异常