Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at ExTestDrive.main(ExTestDrive.java:14):
程序代码如下:
class MyEx extends Exception{}
public class ExTestDrive {
public static void main(String[] args) {
// TODO Auto-generated method stub
String test=args[0];
try{
System.out.println("t");
doRisky(test);
System.out.println("o"); //如果没有异常,才会执行下面这一句,如果捕获异常,下面这一句直接跳过去了。
}catch(MyEx e){
System.out.print("a");
}finally{
System.out.println("w");
}
System.out.println("s");
}
static void doRisky(String t) throws MyEx {
System.out.println("h");
if("yes".equals(t)){ //看来t中会存储main函数传送给它的两个值:yes or not.或许是控制台中传递的参数
throw new MyEx();
}
System.out.print("r");
// TODO Auto-generated method stub
}
}
你好,这个异常是初学者比较常见的异常。
ArrayIndexOutOfBoundsException:注意这个单词,字面意思就是数组引用超出界限,也就是我们常说的越界问题。 比如,我们创建了一个数组 int a[] = new int[4] ;
那么数组a只能存放四个元素,而数组的下标是从0开始的,也就是说,a[3]就是最后一个元素。当你给a[4]赋值,或者使用a[4]的时候,就出现了ArrayIndexOutOfBoundsException异常。
你的args[]定义的是String数组 只给args[]数组声明 没给它分配空间 所以运行后出现的错误的意思是下标越界,代码如下:、
public class b {
public static void main(String args[]){
args=new String[3];
System.out.println("hi!"+args[0]+" "+args[1]+" " +args[2]); }
}
加args=new String[3];是个它分配空间你有args[0],args[1],args[2]三个所以是String[3],还可以给这数组赋值,如args[0]=new String("java")
添加了一句话:args=new String[3],为这个数组分配了空间。
class MyEx extends Exception{}
public class ExTestDrive {
public static void main(String[] args) {
// TODO Auto-generated method stub
args=new String[3];
String test=args[0];
try{
System.out.print("t");
doRisky(test);
System.out.print("o"); //如果没有异常,才会执行下面这一句,如果捕获异常,下面这一句直接跳过去了。
}catch(MyEx e){
System.out.print("a");
}finally{
System.out.print("w");
}
System.out.print("s");
}
static void doRisky(String t) throws MyEx {
System.out.print("h");
if("yes".equals(t)){ //看来t中会存储main函数传送给它的两个值:yes or not.或许是控制台中传递的参数
throw new MyEx();
}
System.out.print("r");
// TODO Auto-generated method stub
}
运行结果就出来了:
throws。
说明控制台Console发送过来的消息是no.就是没有抛出异常。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0的更多相关文章
- Java异常理解之Exception in thread “main“ java.lang.ArrayIndexOutOfBoundsException
这个异常是Java中的数组越界问题 当你使用不合法的索引访问数组是会出现这种错误例如: class Solution { public static int climbStairs(int n) { ...
- Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
场景:eclipse中编写java中用到数组 问题: 程序不报错但是运行过程中 终止,显示字样 “ Exception in thread "main" java.lang.Arr ...
- Java常见异常:Exception in thread "main" java.lang.NoClassDefFoundError
在某一路径下执行编译好的class文件出错. 异常如下: E:\liwy>java Test98 Exception in thread "main" java.lang.N ...
- 编译运行java程序出现Exception in thread "main" java.lang.UnsupportedClassVersionError: M : Unsupported major.minor version 51.0
用javac编译了一个M.java文件, 然后用java M执行,可是出现了下面这个错误. Exception in thread "main" java.lang.Unsuppo ...
- Oozie时出现Exception in thread "main" java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0?
不多说,直接上干货! 问题详情 [hadoop@bigdatamaster oozie--cdh5.5.4]$ bin/ooziedb.sh create -sqlfile oozie.sql -ru ...
- Exception in thread "main" java.lang.UnsupportedClassVersionError : unsupported major.minor version 52.0
新建好springboot项目后,打开application运行main方法报如下错. 1.问题:Exception in thread "main" java.lang.Unsu ...
- 出现Exception in thread "main" java.lang.UnsupportedClassVersionError: org/broadinstitute/gatk/engine/CommandLineGATK : Unsupported major.minor version 52.0问题解决方案
在做外显子分析Indel Realigner时,弹出以下错误: Exception in thread "main" java.lang.UnsupportedClassVersi ...
- Exception in thread "main" java.lang.UnsupportedClassVersionError: * : Unsupported major.minor version 52.0 解决办法
Exception in thread "main" java.lang.UnsupportedClassVersionError: * : Unsupported major.m ...
- Exception in thread "main" java.lang.UnsupportedClassVersionError: com/google/common/base/Function : Unsupported major.minor version 52.0的解决办法(图文详解)
不多说,直接上干货! 问题详情 Exception in thread "main" java.lang.UnsupportedClassVersionError: com/goo ...
随机推荐
- linux monitor and maintanence
@cacti 1.install epel extends source 2.install lamp use yum method yum install -y httpd php php-mysq ...
- github提交代码时遇到”Everything up-to-date“问题的解决方式
需要创建一个新分支,将最新代码加入新分支, 再将新分支合并到主分支,然后提交主分支代码到github网站. ---------------------------------------------- ...
- PhotoShop使用指南(2)——下雨动画效果
第一步: 第二步: 第三步: 第四步:
- 树莓派(Linux)与镜像源
树莓派学习笔记--修改树莓派软件源 1. linux 镜像源文件 >> vim /etc/apt/sources.list 可在树莓派官网 http://www.raspbian.org/ ...
- uoj#87. mx的仙人掌
//Achen #include<bits/stdc++.h> #define For(i,a,b) for(int i=(a);i<=(b);i++) #define Rep(i, ...
- 前用户sudo免密码
Ubuntu 设置当前用户sudo免密码 方法1 # 备份 /etc/sudoers sudo cp /etc/sudoers . #打开 /etc/sudoers sudo visudo # 在 ...
- Makefile 自动产生依赖 ***
代码如下: 其实这里主要是为每个C文件建立一个同名的后缀为.d.该文件的作用是使用gcc的-M属性来自动生成.o文件的头文件依赖关系. 第1,2,4都好理解. 第2行解释: 使用gcc -M 的属性将 ...
- laravel redis的使用
学习源头: https://www.cnblogs.com/redirect/p/6185228.html
- Xcode工具特性
1.注释 #pragma mark 注释说明#pragma mark - 分类/分组注释说明 2.自定义代码块. 3.多文本编辑框 View>>Assistant Editor
- 单端IO标准
单端标准 常用的单端IO标准是LVTTL和LVCMOS. 目前业界绝大部分FPGA/CPLD器件的LVCOMS的IO是由CMOS推挽(push-pull)驱动器构成的,这种结构是上面的PMOS管和下面 ...