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是什么东西我懂!只是想大家给些括性地总结。以提醒编程时注意这些地方!谢谢各位啦 展开
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是什么东西我懂!只是想大家给些括性地总结。以提醒编程时注意这些地方!谢谢各位啦 展开
4个回答
推荐于2017-09-03 · 知道合伙人数码行家
关注
展开全部
常见的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的情况下要注意这个异常
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的情况下要注意这个异常
展开全部
错误是可见的,大多是由程序本身引起的逻辑或者其它的问题;异常是不可见的,是在执行某些操作是引起的,但是可以监测和捕捉,异常有很多类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
晕..
字面的意思也能明白啊.error指错误
exception是异常..
一除以零不是错误,而是异常..
Exception太多了.
而且还可以自己定义异常..
字面的意思也能明白啊.error指错误
exception是异常..
一除以零不是错误,而是异常..
Exception太多了.
而且还可以自己定义异常..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼的这位老大你在误人子弟啊
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询