java程序运行中如果出现异常未被处理,将会被抛到java虚拟机进行处理,程序中断运行后被挂起,在页面输出错误信息(不会输出到console)
下面的代码中,因为我是使用
for (Iterator<Element> i = el.elements().iterator(); i.hasNext(); )
迭代器遍历根节点的所有子节点的flag,但是因为linux基线有 <initcmd> 节点,导致flag为空,
在传入service中进行数据库操作时抛出异常未被处理导致程序被挂起,错误信息不输出到console,直接打印到了页面。
解决方法就是try catch处理掉异常并返回false即可
public boolean isFound(String xcwIndex) {
try {
XconfigLinuxExample example = new XconfigLinuxExample();
XconfigLinuxExample.Criteria criteria = example.createCriteria();
criteria.andXcwindexEqualTo(xcwIndex);
long count = xconfigLinuxMapper.countByExample(example);
return count > 0;
}catch (Exception e){
// System.out.println("xcwIndex为空,当次未遍历到flag");
return false;
}
}
public void getSysTypeByUuid(String uuid) throws IOException, DocumentException {
switch (uuid){
case "66c221be-6ab2-ef53-1589-fe16877914e2": //windows
importDataXML("66c221be-6ab2-ef53-1589-fe16877914e2");break;
case "66c221be-6ab2-ef53-1589-fe16877914f4": //linux linux系都需要去除 <initcmd> 的干扰
linuxBaseline("66c221be-6ab2-ef53-1589-fe16877914f4");break;
}
}
public void linuxBaseline(String uuid) throws DocumentException, IOException {
JSONObject jsonObject = new JSONObject();
String result = null;
CompTools compTools = new CompTools();
String path = "C:\\RM-ROOT\\upload\\assetsConfResultXml\\" + uploadedFileName;
// 创建 dom4j 解析器
SAXReader reader = new SAXReader();
Document document = reader.read(new File(path));
Element root = document.getRootElement();
List<Element> elements = root.elements();
String flag;
String xcwValue;
Integer noneComplianceConfCount = 0;
for (Element el :
elements) {
for (Iterator<Element> i = el.elements().iterator(); i.hasNext(); ) {
Element element = (Element) i.next();
flag = element.attributeValue("flag");
if (xconfigLinuxService.isFound(flag)) {
XconfigLinux allByXcwIndex = xconfigLinuxService.getAllByXcwIndex(flag);
xcwValue = element.element("cmd").element("value").getText();
result = compTools.linuxComp(allByXcwIndex.getCindex().toString(), flag, xconfigLinuxService, xcwValue);
jsonObject.put(flag, result);
if ("1".equals(result)){
noneComplianceConfCount+=1;
}
} else {
// System.out.println("没找到:"+flag);
}
}
}
assetsService.saveAssetsData(OriginalFilename,jsonObject,noneComplianceConfCount,uuid);
}
java程序运行中如果出现异常未被处理,将会被抛到java虚拟机进行处理,程序中断运行后被挂起,在页面输出错误信息(不会输出到console)的更多相关文章
- Java输出错误信息与调试信息
创建一个类,在该类的main()主方法中,使用System类中的out和err两个成员变量来完成调试与错误信息的输出. public class PrintErrorAndDebug { public ...
- Java程序-进程中的"进程"
进程 我们知道程序在磁盘上的时候是静态的,当他被加载到内存的时候,就变成了一个动态的,称为进程,如下图是程序被加载到内存后,在内存中的分布情况如下 此图来自http://blog.csdn. ...
- Java程序学习中各阶段的建议
第一部分:对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学. 一.Java基础 首先去找一个Java的基础教程学一下,这里可以推荐一个地址,或者你也可以参照这个地址上去找相应 ...
- [转] java书籍(给Java程序猿们推荐一些值得一看的好书 + 7本免费的Java电子书和教程 )
7本免费的Java电子书和教程 1. Thinking in Java (Third Edition) 本书的作者是Bruce Eckel,它一直都是Java最畅销的免费电子书.这本书可以帮助你系统的 ...
- Java程序员备战“金九银十”必备的面试技巧(附携程Java岗面试题)
一.面试前的准备 1.1 如何准备一场面试1.1.1 如何获取大厂面试机会1.1.2 面试必知 ①. 准备介绍自己 ②. 关于着装 ③ .随身带上自己的成绩单和简历 ④. 如果笔试就提前刷一些笔试题 ...
- PS Studio调用.exe输出错误信息的解决办法
在一个button_click下调用了如下外部可执行文件: $button1_Click = { #TODO: Place custom script here .\PsExec.exe \\192. ...
- make only output error/warning message( 编译时,只输出错误信息和警告信息)
make > /dev/null 这样,正常的信息被重定向输出到/dev/null,错误和警告信息会输出到标准错误设备(standard error,相对于标准输入/输出设备来说).
- C++输出错误信息perror、strerror以及全局变量errno
头文件:#include<stdio.h>函数:perror.strerror,全局变量:errno.使用方法: FILE *fp; if((fp = fopen("test.t ...
- html加载与脚本运行中,由于html未完全加载而导致脚本找不到dom元素无法执行事件
问题: 如题,就是说alert后出现一个对话框,我没有点关闭,其他js文件或html会被加载吗,我遇到一个问题就是在页面加载时调用一个div的click事件,却没有被执行,但是在调用事件前面加上ale ...
随机推荐
- 「bzoj 4180: 字符串计数」
题目 真是一道好题 首先根据一个非常显然的贪心,如果给出了一个串\(S\),我们如何算最小操作次数呢 非常简单,我们直接把\(S\)拉到\(T\)的\(SAM\)上去跑,如果跑不动了就停下来,重新回到 ...
- 【[IOI2005]Riv 河流】
趁魏佬去英语演讲了,赶快%%%%%%%%%%%%%%魏佬 基本上是照着魏佬的代码写的 这其实还是一个树上背包 我们用\(dp[i][j][k]\)表示在以\(i\)为根的子树里,我们修建\(k\)个伐 ...
- 智慧监狱来了!SaCa EMM 助推现代监狱建设迈上新台阶
近几年来,移动化已经成为警务信息化建设的必然方向,为紧急和突发事件的处理提供了信息依据.为监狱民警提供移动警务所需的信息管理系统,司法系统从很早就开始推动警务通项目.为了落实移动警务的工作需求,很多监 ...
- 把dataTable数据转换为Html
using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text; ...
- Android绘图机制和处理技巧
色彩特效处理 在色彩处理中,使用以下三个角度来描述一个图像. 色调: 物体传播的颜色 饱和度: 颜色的纯度, 从0(灰)到100%(饱和)来进行描述 亮度: 颜色的相对明暗程度 在Android中, ...
- 算法——(5)B/B+/红黑树
1. B树——lgdN B树是平衡多路查找树,主要用于文件系统的索引. 1)定义: 对于一个度数为d的B树, 每个结点最多有d个孩子 如果根结点不是叶子结点,那它至少有两个孩子 每个非叶子结点(非根结 ...
- Redis(四)持久化
本文转载自编程迷思,原文链接 深入学习Redis(2):持久化 前言 在上一篇文章中,介绍了Redis的内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化.复制(及读写分离).哨 ...
- [LuoguP3668][USACO17OPEN]现代艺术2
[LuoguP3668][USACO17OPEN]Modern Art2(Link) 现在你有一块长为\(N\)的画布,每次可以选择一段连续的区间进行颜色填涂,新颜色会覆盖旧颜色.每一次填涂都要耗费一 ...
- java中NULL与" "的区别
null是没有地址""是有地址但是里面的内容是空的 null和""的区别 问题一: null和""的区别 String s=null; st ...
- nRF5 SDK for Mesh(一) 介绍和下载源码
一: 官网介绍地址:http://www.nordicsemi.com/Products/Bluetooth-low-energy/nRF5-SDK-for-Mesh Nordic offers a ...