Exception的try用法

5 篇文章 0 订阅

Exception的try用法

就在前一两天刚接触并学会了有关Map的一些用法,
搞明白了map.add、键值、遍历列表数据等等
结果今天就在这基础上又遇到了问题,先上代码
private HttpClientParam unPassiveScan(Map<String,Object> map){
        Map<String,String> paraMap = new HashMap<String,String>();
        try{
            Map<String,String> unParam = getSysParam("QRCODE_UN");
            //getSysParam跳转获取数据库参数信息         
            paraMap.put("version","1.0.0")//版本号
            paraMap.put("signature","")//签名
            String termSnNo = null;
            if(StringUtils.isEmpty((String) map.get("termSnNo"))){
                //com.icss.instrutry.product.nap.posp.buss.unit.StringUtils.isEmpty判断字符串是否为空
                termSnNo = DEFAULT_TERM_SN_NO;
            }else {
                termSnNo = map.get("termSnNo").toString();
            }           
        } catch (Exception e) {
            logger.error("报文异常:",e);
        }
        return httpClientParam;
    }

这里的
Map<String,String> paraMap = new HashMap<String,String>();

new了之后按理来说是可以直接进行".put"操作的,其他的都没有问题却在这里面用了一个try…catch语法
这里重点讲try的两种用法,Exception后面再细说

try…catch…finally:
给出的结构:

try{
....
} catch(Exception e) {
....
} finally{
....
}

①这三个执行顺序:先执行try里面的语句,如果抛出异常则执行catch语句否则执行finally语句,对于finally语句无论前面执行情况如何都会执行

②finally中最好不要写return语句,因为这样会替换掉try或者是catch中的return值,因为return出去的值不会再发生改变所以在finally里无需再给catch中return的变量赋值
*******当然对于实际情况不一定非要写finally

try…catch…catch
给出的结构:

	try {
	    A(0);
	} catch (ClassNotFoundException e) {
	    e.printStackTrace();
	} catch (IOException e) {
	    e.printStackTrace();
	}

这种写法不是说让同一语法catch两次甚至更多次,对于异常都是继承至Exception,而catch中的实例对象不存在所谓的继承关系,是并行的,所以当第一个catch捕获到了异常这个异常可能就包含了后面所有的异常,后面的catch就没有意义。

*******所以文章开头代码中的try…catch意思就是执行try中的代码,如果没有问题则跳过catch继续往下走,否则执行catch抛出异常报错。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值