java - 我无法解决我的 <identifier> 预期错误,并且不知道为什么

标签 java compiler-errors

好吧,我对 Java 编码来说是 super 、额外、全新的,但我慢慢地掌握了所有术语。但真正的问题是这个错误。我正在尝试做一些编码片段,当启动时,它将打开一个批处理文件(我对它们更有经验)。我非常寻找答案,但没有解决问题,所以我发布了有关我的具体情况的帖子。

这就是所说的代码:

 public class Startbat {
 public static void main(String[] args){
    try {
        Runtime.getRuntime().exec("cmd /c start hello.bat");
        }
    catch (IOException) {
        System.out.println ("Something is wrong here...");
        }
 }
}

当我尝试 javac 时,我得到了这个:

C:\Users\Owner>javac -g "C:\Users\Owner\Desktop\codes\codes\Startbat.java"
C:\Users\Owner\Desktop\codes\codes\Startbat.java:6: error: <identifier> expected

            catch (IOException) {
                              ^
1 error

我发现我得到的错误是关于 catch 行/ block 不在方法中,当我确定它在 main 中时。

我遇到了一些异常(exception)的错误,但我想我解决了它。我不知道异常会是什么((意味着 IOException 是如何从runtime.exec的东西中发生的)这意味着如果它确实开始工作,它不会启动批处理文件?)。

任何帮助将不胜感激,即使只是“这是不可能做到的”

最佳答案

您需要为异常指定一个变量,以便稍后可以使用它,例如...

catch (IOException exp) {

您还应该考虑打印异常,至少打印到控制台(如果不是某种记录器的话)...

catch (IOException exp) {
    ex.printStackTrace();
    //...

这样可以更轻松地追踪潜在问题(如果/当它们发生时)。

顺便说一句,您确实应该使用 ProcessBuilder 而不是 Runtime.exec,除此之外,它还可以更好地管理包含以下内容的输出流和参数:空格...

关于java - 我无法解决我的 <identifier> 预期错误,并且不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24544477/

相关文章:

gwt - 使用跨站点支持编译 GWT 代码时出错

java - 我的编码中出现空指针异常问题

java - 如何创建一个按单个字符读取整数的循环

c++ - 模板中的运算符错误

java - 当 WSDL 太大时,JAX-WS 客户端挂起 30 秒

scala - scala 2.10 编译器中 scala.language.dynamics 错误的解决方法

C++:单例类设计(错误:未解析的外部符号)

java - libGDX : Multi-color text in one label

java - 使用 tcp 从 java 发送 double 到 C#

java - 为什么 Java 将 1h 添加到我的 DateTime 中?