控制台打印异常,页面显示异常,http获取链接超时异常

控制台打印异常,页面显示异常,http获取链接超时异常

工作中,对于异常的抛出讲究的是异常信息是尽量精确的,因此抛出到前台的异常大都是我们自己编写的异常信息。

	PostMethod postMethod = new PostMethod(url);
		String rs;
		try{
			RequestEntity entity= new StringRequestEntity(jsonObject.toString(), "application/json", "utf-8");
			postMethod.setRequestEntity(entity);
			client.executeMethod(postMethod);
			//获取返回内容
			rs = postMethod.getResponseBodyAsString();
		} catch (Exception e){
			e.getMessage();
			e.printStackTrace();
			throw new BizException(e.getMessage());
		}

以上面这段代码为例,如果客户端设置了//
client.getParams().setConnectionManagerTimeout(5000);//设置链接超时时间

//
client.getParams().setSoTimeout(5000);//设置访问超时时间

这样的链接和读取超时异常,启动程序后,如果调用超时,则在会进入到catch中,首先,e.getMessage()获取到异常信息,然后e.printStackTrace()将异常打印到控制台。打印到控制台的目的是将异常显示给开发人员看,让开发人员迅速定位错误原因。然后,throw new bizException()  ,这里是个封装的自定义异常,将异常抛出。抛出后的异常,由使用这个httpClient方法的类获得。如下:

@ResponseBody
	@RequestMapping(value={"/applyCis5UPMobile","/applyCis5UPMobileLevel","/applyCis5UMobileSup"})
	public Json applyCis5UPMobile(String appNo,String queryTy,String localOrCis){
		Json j = Json.newSuccess();
		try{
			logger.info("从页面传来的参数是:"+"appNo="+appNo+",queryTy="+queryTy,"localOrCis="+localOrCis);
			TmUpMobileRiskResp tmUpMobileRiskResp=commonCis5Service.upMobileRisk(appNo,queryTy,Integer.parseInt(localOrCis));
			logger.info("查询征信后的返回结果是:"+JSONObject.toJSONString(tmUpMobileRiskResp));
			return this.setErrorMsg(tmUpMobileRiskResp, tmUpMobileRiskResp.getIfsuccess(), localOrCis);
		}catch(Exception e){
			e.printStackTrace();
			j.setFail(e.getMessage());
			return j;
		}
	}

这里是返回到控制器,再由这里的try catch捕获到异常,通过json返回到前台。在前台弹窗体显示e.getMessage()中的异常信息。

try catch一般是开发者认为某处代码可能会异常而加的,所以如果能够锁定异常的原因则会在throw new bizException中写死异常信息。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/106256.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java JDK 下载安装,以及环境配置

    Java JDK 下载安装,以及环境配置一、JavaJDK下载1)登录oracle官网2)选择Menu\Java\JavaSE3)向下滚动页面,找到GetStarted\DownloadJavaSEforDevelopers4)点击JDK下载5)同意协议AcceptLicenseAgreement\下载对应JDK版本,我的是Windows系统,所以选择Windowsjdk-9.0.4最新版本二、…

  • Lucene笔记15-Lucene的分词-通过TokenStream显示分词[通俗易懂]

    Lucene笔记15-Lucene的分词-通过TokenStream显示分词[通俗易懂]一、展示分词内容packagecom.wsy;importorg.apache.lucene.analysis.*;importorg.apache.lucene.analysis.standard.StandardAnalyzer;importorg.apache.lucene.analysis.tokenattributes.CharTermAttribute;impo…

  • 获取股票历史数据和当前数据的API

    获取股票历史数据和当前数据的API关键字:股票,stock,API,接口1.获取股票当前数据新浪数据接口:http://hq.sinajs.cn/list={code}。{code}替换为股票代码,沪市股票代码加前缀sh,深市股票代码加前缀sz。例如:在浏览器地址栏输入:http://hq.sinajs.cn/list=sh601766,sz000002,得到如下结果:varhq_str_sh601766=”中国中车,10.280,10.210,10.310,10.380,10.160,10.300,10.310,.

  • Ubuntu18.04下卸载CUDA11.0

    Ubuntu18.04下卸载CUDA11.0由于深度学习部分代码仅支持CUDA11.0版本之前的Pytorch,Pytorch官网也没有提供与CUDA11.0配套的版本,因此决定卸载CUDA11.0,但是网上也都是11.0版本之前的卸载方式,因此按照网上的方法进行卸载,由于本人linux操作系统不熟,只能自己尝试首先在安装完CUDA11.0版本后,进入CUDA官网准备安装CUDA10.2,本来没想卸载CUDA11.0但在安装的最后一步出现:说明,在存在更高版本(11.0)情况下,无法正常安装,于是进行卸载:为什么不按照网.

  • git diff提示filemode发生改变(old mode 100644、new mode 10075)[通俗易懂]

    git diff提示filemode发生改变(old mode 100644、new mode 10075)

  • UAT 环境_系统uac

    UAT 环境_系统uacUserAcceptEnvironment用户仿真测试环境转载于:https://www.cnblogs.com/qinqiu/p/5981222.html

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号