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 ...
随机推荐
- python3.x学习笔记2018-02-05更新
前言:python3.x部分学习笔记,有意交流学习者可加wechat:YWNlODAyMzU5MTEzMTQ=.如果笔记内容有错,请指出来. 对数据类型的操作 可变数据类型:列表,集合,字典 列表: ...
- 5.MySQL优化---索引优化专题
来自互联网,整理转载. 摘要:多关于索引,分为以下几点来讲解: 一.索引的概述(什么是索引,索引的优缺点) 二.索引的基本使用(创建索引) 三.索引的基本原理(面试重点) 四.索引的数据结构(B树,h ...
- C++ 静态常量
#include<iostream> #include<stdexcept> #include <map> using namespace std; class n ...
- Java实现LSH(Locality Sensitive Hash )
在对大批量数据进行图像处理的时候,比如说我提取SIFT特征,数据集为10W张图片,一个SIFT特征点是128维,一张图片提取出500个特征点,这样我们在处理的时候就是对5000万个128维的数据进行处 ...
- 用HAWQ轻松取代传统数据仓库(八) —— 大表分区
一.HAWQ中的分区表 与大多数关系数据库一样,HAWQ也支持分区表.这里所说的分区表是指HAWQ的内部分区表,外部分区表在后面“外部数据”篇讨论.在数据仓库应用中,事 实表通常有非常多 ...
- LeetCode 688. Knight Probability in Chessboard
原题链接在这里:https://leetcode.com/problems/knight-probability-in-chessboard/description/ 题目: On an NxN ch ...
- SQL Sever 学习系列之二
SQL Sever 学习系列之二 SQL Server 学习系列之一(薪酬方案+基础) 四.有关时间输出问题 select GETDATE() 日期时间 ----显示为:2013-07 ...
- 配置Nginx实现负载均衡
在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件.硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中w ...
- 机器学习:偏差方差权衡(Bias Variance Trade off)
一.什么是偏差和方差 偏差(Bias):结果偏离目标位置: 方差(Variance):数据的分布状态,数据分布越集中方差越低,越分散方差越高: 在机器学习中,实际要训练模型用来解决一个问题,问题本身可 ...
- JavaScript 中对小数取整的常用函数
常见的js截取小数的方法 1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math. ...