在throw异常中查找错误

时间:2018-01-02 20:30:24

标签: java exception-handling throw

我从我的代码中收到此错误,似乎无法找到解决方案。这是我第一次在java中处理抛出异常。任何帮助表示赞赏!

var getAllData = function (user_id) {
    alert(user_id);
}

vm.getAllData = getAllData;

usersService.getUser().then(function (user) {
    getAllData(user.id);
});

1错误

C:\Users\acer\Documents\MyFinal3.java:5: error: ';' expected
static void exceptionFinal() throw RuntimeException();{

2 个答案:

答案 0 :(得分:0)

你的代码有多个问题,肯定表明缺乏对java的基本理解,但为了编译你当前的代码,你应该按如下方式重写它。注意throw和throws使用的差异。如建议的评论之一,请查看Difference between throw and throws in Java?

import java.io.*;
import java.util.*;

public class MyFinal3 {

  static void exceptionFinal() throws RuntimeException {
    System.out.println("Inside exceptionFinal");
    throw new RuntimeException();
  }

  public static void main(String[] args) {
    double myDouble[] = new double[5];
    try {
      exceptionFinal();
      System.out.println("Access element sixth :" + myDouble[6]);
    } catch (RuntimeException eE) {
      System.out.println("Exception thrown: 1");
    } catch (Exception eE) {
      System.out.println("Exception thrown: 2");
    }

    finally {
      System.out.println("Exception end");
    }
    System.out.println("Out of the block");
  }
}

答案 1 :(得分:0)

正如Moonlighter所说,问题出在“投掷”关键字上。 “throw”告诉java立即抛出异常,这在方法签名中无法完成(因此语法错误)。另一方面,“throw s ”标记了可能抛出异常的方法。

另一个好处是缩进你的代码。这可以提高您和可能对您有帮助的人的可读性。