当前位置: 首页 > 面试题库 >

避免使用printStackTrace(); 改用记录器调用

虞正业
2023-03-14
问题内容

在我的应用程序中,我正在通过PMD运行代码,它向我显示以下消息:

  • 避免使用printStackTrace(); 请改用记录器调用。

那是什么意思?


问题答案:

这意味着您应该使用logback或log4j之类的日志记录框架,而不是直接打印异常:

e.printStackTrace();

您应该使用以下框架的API记录它们:

log.error("Ops!", e);

日志记录框架为您提供了很大的灵活性,例如,您可以选择是否要登录到控制台或文件-如果发现它们在某些环境中不再有用,则可以跳过一些消息。



 类似资料:
  • 让我们看一下使用两种不同的方式去计算单词的个数,第一种方式使用 reduceByKey 另外一种方式使用 groupByKey: val words = Array("one", "two", "two", "three", "three", "three") val wordPairsRDD = sc.parallelize(words).map(word => (word, 1)) val

  • 如何避免类名和记录器混淆(DexGuard) DexGuard:避免类名和记录器混淆从Android版本构建Apk 推荐我任何一个。。。

  • 在我的项目中,我有一些软件包,如: 我为每种包定义了几个记录器,例如: 还有更多... 问题是,当我使用com.project编写日志时。在我的记录器中,输出被写入com.project。我的滚动文件日志并进入com。项目文件日志。 我只是想把输出写进com.project。仅限我的文件日志。我怎么解决这个问题?

  • 我想编写一个存储过程来将数据插入到表中,并检查是否已经存在相同的数据? 如果是,则异常抛出为已经存在。但我不知道应该在哪里添加异常。请帮忙。

  • null本身不是对象,也不是Objcet的实例 问题: null代表不确定的对象, 是一个很模糊的概念, 容易产生二义性 Map.get(key)若返回value值为null,其代表的含义可能是该键指向的value值是null,亦或者该键在map中并不存在 优点: 从内存消耗和效率方面,null更加廉价 优化: Optional com.google.common.base.Optional Op

  • 问题内容: 建议在HTML页面中使用表格(现在已经有了CSS)? 表格有什么用途?表具有哪些CSS所没有的功能? 问题答案: 一点都不。但是将表格用于表格数据。只是不要将它们用于一般布局。 但是,如果您显示表格数据(例如结果或什至是表格),请继续使用表格!