在 IntelliJ 中打破您自己的异常

发布于 2024-07-26 05:56:07 字数 276 浏览 6 评论 0原文

请参阅此问题了解如何中断任何异常。

我在启动时遇到一百万个异常。 我尝试过忽略 ClassNotFoundException,但这并不好,IDE 似乎仍然会在这些(和其他)异常上崩溃。

那么..什么是一个合适的配置来仅捕获从用户代码捕获的真正异常? (如果适用,也忽略 jUnit 中的任何异常)

See this question on how to break on any exceptions.

I'm getting a million exceptions on startup. I've tried ignoring ClassNotFoundException, but it's no good, the IDE still seems to break on these (and other) exceptions.

So .. what's a decent configuration for this to catch only real exceptions caught from user code? (Ignore also any exception in jUnit, if applicable)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

拧巴小姐 2024-08-02 05:56:07

正如其他发帖者所提到的,类过滤器是实现此目的的方法。

具体来说,您可以添加您认为“您的代码”的包名称作为类过滤器。 语法有点不透明,但使用简单的通配符过滤器,例如:

com.whatever.package.*

听起来它会为你工作。 IntelliJ 将在此处任何包中的任何类中发生任何异常时中断。 如果您的代码位于多个位置,您当然可以定义多个通配符过滤器。

As mentioned by the other posters, Class Filters are the way to do this.

Specifically, you could add the package names for what you consider "your code" as a class filter. The syntax is a little opaque, but using a simple wildcard filter like:

com.whatever.package.*

sounds like it it will work for you. IntelliJ will break on any exception in any class in any package under here. You can of course define multiple wildcard filters if your code is in more than one place.

蒲公英的约定 2024-08-02 05:56:07

我之前只是在搞乱这个。 有两种方法:

1)配置它以显式捕获您的异常,而不是“任何异常” - 如果它是类似 RuntimeException 的东西,这可能不够过滤。
2)使用班级结果过滤器 - 无论出于何种原因,这对我不起作用。 曾经。

I was just messing with this earlier. Two ways to go:

1) Configure it to explicitly catch your exception, not "any exception" - if it's something like RuntimeException, this may not be filter-y enough.
2) Use the class results filter - this for whatever reason did NOT work for me. Ever.

何必那么矫情 2024-08-02 05:56:07

我添加这个答案是因为我很难找到 serg10 接受的答案中提到的类过滤器子对话框。 要查看该子对话框,请执行以下操作:

1) 使用以下键盘快捷键 (Ctrl + Shift + F8) 打开“查看断点”对话框,假设您尚未更改该快捷键的绑定。

2) 检查左侧栏中标题为“Java Exception Breakpoints”的条目。这应该会自动检查属于该顶级元素的标题为“Any Exception”的子项。3

) 直接单击标题为“的子项”任何异常”。您现在应该会在右侧看到“类过滤器”下拉框。4

) 选中“类过滤器”旁边的复选框。查看断点对话框应该现在看起来像这样:

在此处输入图像描述

5) 单击类过滤器下拉框旁边的省略号,您现在应该会看到类过滤器。 "

在此输入图像描述"

I'm adding this answer because I had a hard time finding the Class Filters sub-dialog mentioned in serg10's accepted answer. To see that sub-dialog do the following:

1) Open the View Breakpoints dialog using the following keyboard shortcut (Ctrl + Shift + F8), assuming you have not changed the binding for that shortcut.

2) Check the entry in the left hand column titled" "Java Exception Breakpoints". That should automatically check the child item titled "Any Exception" belonging to that top level element.

3) Click directly on the child item titled "Any exception". You should now see the Class filters drop-down box on the right hand side.

4) Check the check-box next "Class Filters". The View Breakpoints dialog should now look like this:

enter image description here

5) Click on the ellipsis next to the Class Filters drop-down box. You should now see the Class Filters dialog.

enter image description here

眼眸里的那抹悲凉 2024-08-02 05:56:07

我检查了 IJ,发现有很多选择。 也许类过滤器是您的选择?

I checked IJ and I see tons of options. Maybe the class filters is your option?

那些过往 2024-08-02 05:56:07

请参阅这些创建特定异常断点的说明。 简而言之:

  1. 在主菜单上,选择“运行”|“ 查看断点,或按 ⇧⌘F8。
  2. 在打开的“断点”对话框中,单击“添加”。
  3. 从下拉列表中选择异常断点。
    输入图片此处描述
    (来源:jetbrains.com

  4. 在“选择异常类”对话框中,从库或项目中指定所需的异常类,然后单击“确定”。

    在“选择异常类”对话框中,

See these instructions to create a specific exception breakpoint. In short:

  1. On the main menu, choose Run | View Breakpoints, or press ⇧⌘F8.
  2. In the Breakpoints dialog box that opens, click add.
  3. Select Exception Breakpoints from the drop-down list.
    enter image description here
    (source: jetbrains.com)

  4. In the Select Exception Class dialog box, specify the desired exception class from the library, or from the project, and click OK.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文