java - java 中的整个 try/catch 语句需要大括号吗?真的很奇怪的东西

标签 java android try-catch curly-braces

我需要从 Android 中的 list 解析包版本。我是直接在main Activity中做的,不知道是不是错了。

我现在无法测试这是否有效,由于各种原因,尽管我正在运行 Eclipse,但几天后我就无法测试它,但这确实伤害了我的心,因为我是一个相当担心的人:

{ try {
    String version = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
} catch (NameNotFoundException e) {
    Log.e("tag", e.getMessage());
} }

您注意到整个语句前后的大括号了吗?如果我删除它们,Eclipse 会说

“标记“{”上存在语法错误,{ 在此标记后应预期”

在前面的 Activity 开头,以及其后的任何方法或语句中的类似内容。

我用谷歌搜索它,因为这是我能做的,但没有发现任何需要它们的信息。 Java 教程、示例拼写 try catch 没有这个。我是否做了一些非常愚蠢的事情,或者这是正常行为,我的代码应该在我回来时运行?

再次对这个问题感到抱歉,但我只是需要。

提前致谢。

最佳答案

您可能在任何方法之外都有该代码。通过大括号,Java 将其视为实例初始化 block 。没有大括号,这是非法的。

该代码的另一个问题是,您初始化了变量 version,然后立即丢失了信息,因为 versiontry 的本地变量。堵塞。该变量可能应该在 block 之外声明。

关于java - java 中的整个 try/catch 语句需要大括号吗?真的很奇怪的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12590276/

相关文章:

android - npm WARN jest-react-native@17.0.0 需要 whatwg-fetch@^1.0.0 的对等体,但没有安装

try-catch - 在 Swift 2 中,如何将 JSON 解析错误返回到完成 block ?

php - 从 try/catch block 中断

java - 如何更改 Spring 5 webflux websocket 客户端上的帧/缓冲区大小

java - 如何在 Java 中将函数作为参数传递给 Callable

android - 来自 xml 的 NavigationView onClick 导致错误

c++ - C++错误处理

java - 将结果集插入Arraylist并显示它们

java - 将 Runnable 对象排队以在一个线程中执行

java - 将服务绑定(bind)到任何传入的短信/电子邮件/电话?