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 ...
随机推荐
- hdu-2544-最短路(dijkstra算法模板)
题目链接 题意很清晰,入门级题目,适合各种模板,可用dijkstra, floyd, Bellman-ford, spfa Dijkstra链接 Floyd链接 Bellman-Ford链接 SPFA ...
- thinkphp3.0中ajax的发送
系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于 AJAX调用后返回数据给客户端.并且支持JSON.XML和EVAL三种方式给客户端接受数据,通过配置DEFAULT_AJA ...
- 获得客户端ip
获得客户端ip private function GetIP(){ if(!empty($_SERVER["HTTP_CLIENT_IP"])){ ...
- CF 739E Gosha is Hunting
有 $n$ 个 Pokemon,你有 $A$ 个一类精灵球,$B$ 个二类精灵球 分别给出每个 Pokemon 被这两类精灵球捕捉的概率 求抓到 Pokemon 的最优期望个数 $n\leq 2000 ...
- [Luogu3852][TJOI2007]小朋友
luogu 题意 求弦图的最大独立集. sol 按照完美消除序列一个个贪心选即可. code #include<cstdio> #include<algorithm> #inc ...
- C++对C语言的拓展(4)—— 函数重载
函数重载(Function Overload):用同一个函数名定义不同的函数,当函数名和不同的参数搭配时函数的含义不同. 1.重载规则 (1)函数名相同: (2)参数个数不同,参数的类型不同,参数顺序 ...
- python之 python 起源、语言特点
一. 1.1 什么是 PythonPython 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性.它可以帮你完成工作,而且一段时间以后,你还能 ...
- Azure上批量创建OS Disk大于30G的Linux VM
Azure上VM的OS盘的大小在创建时是固定的.Windows是127G,Linux是30G.如果需要批量创建的VM的OS Disk有更大的容量.可以考虑用下面的方法实现. 1 创建一台有Data-d ...
- GWT更改元素样式属性
GWT有时候不像普通网页那样可以自由的添加CSS改变样式,所幸gwt提供了一些底层的方法,通过这些方法来实现DOM操作等.通过gwt部件的getElement()可以取得dom上的元素,这时就能对该元 ...
- Linux内核 - 定时器
#include <linux/timer.h> //头文件 struct timer_list mytimer; //定义变量 static void my_timer(unsigned ...