gpt4 book ai didi

java - 更好地控制捕获异常时打印的内容

转载 作者:行者123 更新时间:2023-12-01 14:07:39 25 4
gpt4 key购买 nike

有没有办法在异常发生时从异常中抓取具体信息?

例如,当我调用 printStackTrace 时,我会得到很多信息...但有时我会得到太多信息,而且其中大部分都不是我需要查看的内容,因为无论如何它总是相同的信息.

至少当涉及到 Selenium Webdriver 时,它首先告诉我问题是什么

com.thoughtworks.selenium.SeleniumException: Element blah not found
at org.openqa.selenium.internal.seleniumemulation.ElementFinder.findElement(ElementFinder.java:92)
at org.openqa.selenium.internal.seleniumemulation.Click.handleSeleneseCommand(Click.java:35)
at org.openqa.selenium.internal.seleniumemulation.Click.handleSeleneseCommand(Click.java:1)
at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:35)
at org.openqa.selenium.internal.seleniumemulation.Timer.run(Timer.java:40)
at org.openqa.selenium.WebDriverCommandProcessor.execute(WebDriverCommandProcessor.java:140)
...
Caused by: org.openqa.selenium.WebDriverException: ...
...
...
...

然后它继续告诉我有关我的环境、功能(以及另一个消息列表)的信息,以及更多“由”信息引起的信息。

这是一条相当长的消息,我不想让它弄乱我的日志文件。有没有办法省略所有“由”相关消息引起的?

我尝试了getMessage,但它只说

Element blah not found

这没有用。我至少想看看它来自哪一行。

最佳答案

当然,只获取前几个堆栈帧并解析它们。使用 getStackTrace 获取 StackTraceElement[] 并迭代它们,直到您在包中获得一个框架(或者您想要过滤的其他内容)以获得正确的线路。 Selenium 内部线路可能不是您需要的。

在此元素上,您可以调用 getMethodNamegetLineNumberthe like .

关于java - 更好地控制捕获异常时打印的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18770550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com