Solved ArrayIndexOutOfBoundsException: 0

Discussion in 'Plugin Development' started by Resolver, Jun 20, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    Resolver

    so I'm getting this error from line 53 when I typed /crime and I have no idea what causes that error.

    Code:java
    1. if (command.getName().equalsIgnoreCase("crime")) {
    2. if (sender instanceof Player) {
    3. Player player = (Player) sender;
    4. String sendername = sender.getName();
    5. if ((player.hasPermission("crime.config")) || (player.isOp() == true)) {
    6. try {
    7. if (args[0].equalsIgnoreCase("joblist")) {
    8. showJobs(sender, args);
    9. } else {
    10. doCommand(sender, args);
    11. }
    12. } catch (Exception ex) {
    13. showAbout(sender);
    14. } //LINE 53 STARTS BELOW HERE
    15. } else if (args[0].equalsIgnoreCase("jobs")) {
    16. showJobs(sender, args);
    17. } else if (args[0].equalsIgnoreCase("join")) {
    18. String[] jobslist = {"Pet", "Supplier", "Pilot", "Engineer", "Terrorist", "Thugs", "Hitman", "Robber", "Hax0r", "Cops", "Detective", "Watcher", "Gun Dealer", "Armory", "Brewer"};
    19. if ((config.getBoolean(sendername + ".joinedjobs") == false) && (config.getInt(sendername + ".exp")) >= 1000) {
    20. if (args.length >= 2) {
    21. if (Arrays.asList(jobslist).contains(args[1])) {
    22. config.set(sendername + ".jobs", args[1].toUpperCase());
    23. config.set(sendername + ".joinedjobs", true);
    24. config.set(sendername + ".exp", config.getInt(sendername + ".exp") - 100);
    25. sender.sendMessage(yellow + "Crime" + red + "-== " + gray + "You have successfully changed your jobs into " + args[1]);
    26. saveConfig();
    27. } else {
    28. sender.sendMessage(yellow + "Crime" + red + "-== " + gray + "The jobs you specified doesn't exist !");
    29. }
    30. } else {
    31. sender.sendMessage(yellow + "Crime" + red + "-== " + gray + "Specify the jobname");
    32. }
    33. } else {
    34. sender.sendMessage(yellow + "Crime" + red + "-== " + gray + "You don't have 100 EXP or you've already choose a Job.");
    35. }
    36. }
    37. } else {
    38. doCommand(sender, args);
    39. }
    40. } else {
    41. showAbout(sender);
    42. }


    Incase you need the showJobs
    showJobs :
    Code:java
    1. try {
    2. if ((args[1].equalsIgnoreCase("1")) || args[1].equalsIgnoreCase(null)) {
    3. //bunch of send messages
    4. } else if (args[1].equalsIgnoreCase("2")) {
    5. //same
    6. } else if (args[1].equalsIgnoreCase("3")) {
    7. //same
    8. }
    9. } catch (Exception ex) {
    10. //The exact same messages from previous one.
    11. }
     
  2. Offline

    teej107

    You aren't checking to see if args is even above 0.

    EDIT: And what's with the try/catch? That could be easily done with an if statement. Your try/catch caught the your first args error but not the second which is at line 53
     
  3. Offline

    Resolver

    thanks ! solved now :) .

    I will change the try catch block after this one :) .
     
Thread Status:
Not open for further replies.

Share This Page