gpt4 book ai didi

java - 为什么我的编译器一直说我有一个 catch block ,而没有前面的 try block

转载 作者:行者123 更新时间:2023-11-30 08:18:01 25 4
gpt4 key购买 nike

所以我的代码如下所示:

try {
t.delete("word");
result = t.getRootItem().getWord().equals("humpty");
} catch (Exception e) {
result = false;
}

问题是我的编译器一直说我有一个捕获而没有先前的尝试,但我确实有先前的尝试,所以出了什么问题?这是我的整个主要方法(如果您愿意,我也可以发布整个类(class):

public static void main(String args[]) {
BSTRefBased t;
AbstractBinaryTree tt;
int i;
boolean result;
String message;

message = "Test 1: inserting 'word0' -- ";
t = new BSTRefBased();
try {
t.insert("word0");
result = t.getRootItem().getWord().equals("word0");
} catch (Exception e) {
result = false;
}
System.out.println(message + (result ? "passed" : "FAILED"));

message = "Test 2: inserting 'word1', 'word2', 'word3' -- ";
t = new BSTRefBased();
try {
t.insert("word1");
t.insert("word2");
t.insert("word3");
result = t.getRootItem().getWord().equals("word1");
tt = t.detachLeftSubtree();
result &= tt.getRootItem().getWord().equals("word2");
tt = t.detachRightSubtree();
result &= tt.getRootItem().getWord().equals("word3");
} catch (Exception e) {
result = false;
}
System.out.println(message + (result ? "passed" : "FAILED"));

message = "Test 3: deleting 'word3'";
t = new BSTRefBased
try {
t.delete("word3");
result = t.getRootItem().getWord().equals("word3");
} catch (Exception e) {
result = false;
}
System.out.println(message + (result ? "passed" : "FAILED"));
}

最佳答案

此行似乎不正确:

t = new BSTRefBased

没有用于构造函数调用的(),也没有分号。它紧接在 try 之前,这些错误一定会扰乱解析器,使其不再识别 try。尝试一下

t = new BSTRefBased();  // or a similar constructor call

关于java - 为什么我的编译器一直说我有一个 catch block ,而没有前面的 try block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29378391/

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