产生异常,首先会生成异常对象。
如果在try语句块中的任何代码抛出了一个在catch子句中说明的异常类,那么
1)程序将跳过try语句块的其它代码
2)程序将执行catch子句中的处理器代码
如果在try语句块中没有抛出任何异常,那么程序将跳过catch子句。
如果方法中的任何代码抛出了一个在catch子句中没有声明的异常类型,那么这个方法就会立刻跳出(希望调用者为这种类型的异常设计了catch子句)
1.函数内部处理异常
1.1这种是普通的处理异常请求
try { ... } catch (IOException e) { System.out.println( e.printStackTrace()) }
1.2这种情况,一般是网络请求,根据返回的结果,处理异常,
try { throw new IOException (response.getEntity()); } catch (IOException e) { System.out.println( e.printStackTrace()) }
2.传递异常的两种写法
2.1 在函数内部将异常重新定义,并交给调用者处理
try { } catch (IOException e) { throw new SampleException("Other IOException", e); }
2.2 传递一个异常,并交给调用者处理,方法内部不处理这样的异常,但是调用者必须处理这样的异常,当然调用者也可以传递到上一级调用者。
public void test() throws IOException{}