java中error和exception分别有几种?

我只知道:error:语法错误、逻辑错误、运行错误exception:越界、数据丢失//------现有资料------java中的异常多了,但是常见的异常也就如下几种:... 我只知道:
error:语法错误、逻辑错误、运行错误
exception:越界、数据丢失

//------现有资料------
java中的异常多了,但是常见的异常也就如下几种:

import java.nio.*;
import java.util.*;

class TestException {

public static void main(String[] args) {
TestException t = new TestException();
t.testIndexOutOfBoundsException();
}

// 1。ArithmeticException异常。 被除数为0时触发
public void testArithmeticException() {
int a = 10;
int b = 0;
int c = a/b;
}

// 2。ArrayStoreException异常。 数组类型不正确时触发
public void testArrayStoreException() {
Object x[] = new String[3];
x[0] = new Integer(0);

}

// 3。BufferOverflowException异常。
public void testBufferOverflowException() {
int cap = 10;
ByteBuffer bf = ByteBuffer.allocate(cap);
System.out.println(bf);
for(int i = 0;i <cap;i++) {
bf.put((byte)i);
}
System.out.println(bf);
// cause exception
bf.put((byte)10);
}

// 4。BufferUnderflowException异常。
public void testBufferUnderflowException() {
int cap = 10;
ByteBuffer bf = ByteBuffer.allocate(cap);
System.out.println(bf);
for(int i = 0;i <cap;i++) {
bf.put((byte)i);
}
System.out.println(bf);

// cause exception
bf.get();
}

// 5。ClassCastException异常。 类的类型不正确的Cast的时候触发。
public void testClassCastException() {
Object x = new Integer(0);
System.out.println((String)x);
}

// 6。EmptyStackException异常。 堆栈为空的时候触发
public void testEmptyStackException() {
Stack t = new Stack();
t.push (new Object());
t.pop();
// cause exception
t.pop();

}

// 7。IllegalArgumentException异常。 调用方法时传入不合法的参数的时候触发。
public void testIllegalArgumentException() {
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
// caush exception
Thread.currentThread().setPriority(99);

}

// 8。IndexOutOfBoundsException异常。 索引超出边界时触发。
public void testIndexOutOfBoundsException() {
List l = new ArrayList();
l.add("t");
l.add("a");
l.add("n");
l.add("k");
l.add("s");
Collections.swap(l,0,9);
}

// 9。ArrayIndexOutOfBoundsException异常。 索引超出数组边界时触发。
public void testArrayIndexOutOfBoundsException() {
List v = new ArrayList();
v.add(new Object());
v.get(0);
// cause exception
v.get(-1);

}

// 10。StringIndexOutOfBoundsException异常。 索引超出字符串边界时触发。
public void testStringIndexOutOfBoundsException() {
String s = "hello";
s.charAt(-1);
}

}

//-----------------哪位大侠可概括性地总结些其它的点出来------------------
error和exception是什么东西我懂!只是想大家给些括性地总结。以提醒编程时注意这些地方!谢谢各位啦
展开
 我来答
pieryon
推荐于2017-09-03 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14411 获赞数:166864
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
常见的error有:
ArithmeticException(除数为0的异常), BufferOverflowException(缓冲区上溢异常), BufferUnderflowException(缓冲区下溢异常), IndexOutOfBoundsException(出界异常), NullPointerException(空指针异常), EmptyStackException(空栈异常), IllegalArgumentException(不合法的参数异常), NegativeArraySizeException, NoSuchElementException, SecurityException, SystemException, UndeclaredThrowableException
常见的exception有:
1. java.lang.NullPointerException
  异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)
  2. java.lang.ClassNotFoundException  异常的解释是"指定的类不存在"。
  3. java.lang.ArithmeticException  这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常。
  4. java.lang.ArrayIndexOutOfBoundsException
  异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。
  5. java.lang.IllegalArgumentException
  这个异常的解释是"方法的参数错误",比如g.setColor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。
  6. java.lang.IllegalAccessException
  这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了Package的情况下要注意这个异常
yunxiangyiyun
2008-12-03
知道答主
回答量:66
采纳率:0%
帮助的人:36万
展开全部
错误是可见的,大多是由程序本身引起的逻辑或者其它的问题;异常是不可见的,是在执行某些操作是引起的,但是可以监测和捕捉,异常有很多类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笨瓜007
2008-12-02 · TA获得超过426个赞
知道小有建树答主
回答量:610
采纳率:0%
帮助的人:471万
展开全部
晕..
字面的意思也能明白啊.error指错误
exception是异常..
一除以零不是错误,而是异常..
Exception太多了.
而且还可以自己定义异常..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangwenjun0609
2008-12-03 · TA获得超过1016个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:299万
展开全部
一楼的这位老大你在误人子弟啊
Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。大多数这样的错误都是异常条件。虽然 ThreadDeath 错误是一个“正规”的条件,但它也是 Error 的子类,因为大多数应用程序都不应该试图捕获它。

直接已知子类:
AnnotationFormatError, AssertionError, AWTError, CoderMalfunctionError, FactoryConfigurationError, LinkageError, ThreadDeath, TransformerFactoryConfigurationError, VirtualMachineError

Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。
直接已知子类:
AclNotFoundException, ActivationException, AlreadyBoundException, ApplicationException, AWTException, BackingStoreException, BadAttributeValueExpException, BadBinaryOpValueExpException, BadLocationException, BadStringOperationException, BrokenBarrierException, CertificateException, ClassNotFoundException, CloneNotSupportedException, DataFormatException, DatatypeConfigurationException, DestroyFailedException, ExecutionException, ExpandVetoException, FontFormatException, GeneralSecurityException, GSSException, IllegalAccessException, IllegalClassFormatException, InstantiationException, InterruptedException, IntrospectionException, InvalidApplicationException, InvalidMidiDataException, InvalidPreferencesFormatException, InvalidTargetObjectTypeException, InvocationTargetException, IOException, JMException, LastOwnerException, LineUnavailableException, MidiUnavailableException, MimeTypeParseException, NamingException, NoninvertibleTransformException, NoSuchFieldException, NoSuchMethodException, NotBoundException, NotOwnerException, ParseException, ParserConfigurationException, PrinterException, PrintException, PrivilegedActionException, PropertyVetoException, RefreshFailedException, RemarshalException, RuntimeException, SAXException, ServerNotActiveException, SQLException, TimeoutException, TooManyListenersException, TransformerException, UnmodifiableClassException, UnsupportedAudioFileException, UnsupportedCallbackException, UnsupportedFlavorException, UnsupportedLookAndFeelException, URISyntaxException, UserException, XAException, XMLParseException, XPathException
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式