1.首先为什么使用try catch
2.类似于文件IO流的操作一般来说是必须使用try catch的
3.当不确定当前写的代码会不会出现问题,又不想影响整体的业务逻辑,导致提前抛出异常,得到我们不想得到的结果
例如:
List<BmOrderDTO> orderList = new ArrayList(); JSONObject fahuoyiOrder = null; for (int i = 0; i < 5 ;i++){ try { BmOrderDTO bmOrderDTO = genraRequest(fahuoyiOrder, i); orderList.add(bmOrderDTO); }catch (BusinessException e ){ log.info("这个是记录异常的日志,需要抓取到e的堆栈信息",e); FahuoyiOrderDTO fahuoyiOrderDTO = JSONObject.parseObject(JSONObject.toJSONString(fahuoyiOrder), FahuoyiOrderDTO.class); String wcCreateOrderJson = JsonUtil.beanToJson(wcCreateOrder); }finally { //如果需要的话在finally做一些操作 } }
这个trycatch就是对genraRequest这个方法出现业务异常的时候在上层捕获,这样就不会直接返回到再上层,不会影响到之后的for循环,如果不做捕获处理的话,就会导致出现异常之后直接抛到最上层了;