本文目录一览:
- Java编程中 常见的异常有哪几种
- java编程时错误 意外的类型 public class A1{ public static void main(String args[]){ String s1,s2,s3;
- Java编程中常见的错误有哪些
- java中异常java.util.InputMismatchException怎么解决?
- JAVA语言中,异常处理有哪几种方式?
- JAVA中提示“意外的类型”什么意思,怎么解决?
Java编程中 常见的异常有哪几种
相信作为程序员的我们在对程序进行编译过程中经常会遇到错误,或者在运行过程中出现错误,在这里主要跟大家谈谈经常遇到的一些异常与错误,以及解决办法。
异常是指程序在编译或运行过程出现的错误。
在 java.lang
包中 Throwable
包含了所有的异常。
Error(错误) 和 Exception(异常)
(1) Error(错误)
一旦发生无法修复,但可以避免发生。 常见错误类:
IOError
:I/O 错误,当发生严重的 I/O 错误时,抛出此错误。VirtualMachineError
:虚拟机错误,当 Java 虚拟机崩溃或用尽了它继续操作所需的资源时,抛出该错误。StackOverflowError
:栈内存满了,当应用程序递归太深而发生堆栈溢出时,抛出该错误。OutOfMemoryError
:堆内存满了,因为内存溢出或没有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常。 以上是一些常见的错误,在Error
类中还有一些别的错误(参照文件Java.lang.Throwable.Error
)。
(2) Exception(异常)
一旦发生,可以捕获并处理,不会导致程序终止,有时可以避免,有时无法避免。
异常的分类:
- 编译时异常(需要强制处理)
- 运行时异常(不需要强制处理)
常见的异常有:
IOException
:输入输出流异常FileNotFoundException
:文件找不到的异常ClassNotFoundException
:类找不到的异常DataFormatException
:数据格式化异常NoSuchFieldException
:没有匹配的属性异常NoSuchMethodException
:没有匹配的方法异常SQLException
:数据库操作异常TimeoutException
:执行超时异常
常见的运行时异常:
RuntimeException
:运行时异常NullPointerException
:空指针异常ArrayIndexOutOfBoundsException
:数组越界异常ClassCastException
:类型转换异常IllegalArgumentException
:非法的参数异常InputMismatchException
:输入不匹配 以上是常见的一些异常,另外还有别的异常,参见文件:Java.lang.Throwable.Exception
。 既然我们常常会遇到一些异常,那我们如何来处理这些异常就是一个急需解决的事情。
(1) 如何处理编译时异常?
方法一:将需要处理的代码块放在一个 try...catch... 中
try {
// 需要处理异常的代码
} catch (XXXException ef) {
ef.printStackTrace();
}
我们方法一就是要将我们不确定的代码放入 try...catch
中,先进行 try
一下,如果没有异常,则不会触发 catch
,没有输出;一旦出现异常,那么 catch
就会工作,在 catch
中捕获异常信息,根据异常信息进行补救措施。
如以下代码:
方法二:在出现异常的方法上直接向上抛出异常,throws
void ff() throws XXXException {
}
将出现的异常的代码中,放入如上的方法中,就会将异常抛给该方法的上一级,在主函数上继续向上抛,最终抛给 JVM(Java 虚拟机),让 JVM 来解决该问题。 如代码:
注意:在
catch
和throws
的时候如果不确定是什么异常,就直接写一个Exception
。
(2) 如何处理运行时异常?
- 一般情况下,运行时异常是不用处理的。
- 在某些情况下,如果对发生异常的结果进行处理,也可以对运行时异常进行
try...catch...
。 以上就是一些我们处理编译时异常和运行时异常的方法。 在程序出现异常时,有时候我们可以自定义异常,以便我们能够发现是什么异常。
那么如何自定义异常?
- 当运行时,程序出现意外,可以抛出异常对象来结束程序。
// 抛出运行时异常对象
RuntimeException ef = new RuntimeException("下标越界!index:" + index + " ,size:" + size());
throw ef;
- 对于编译时异常,同样可以抛出异常对象。
但在方法定义时候必须加上
throws
。
public void test(int t) throws Exception {
if (t < 0 || t > 100) {
Exception ef = new Exception("数据错误");
throw ef;
}
}
例如:
运行结果:
从结果可以看出,我们在输入数据的时候出现错误,这样通过自定义异常能够让我们更直接快速地找到运行或编译时的异常。
在上述中我们分别提到了三种 throw
,分别是 Throwable
、throws
以及 throw
,那么到底三者有什么区别?
Throwable
:是指在java.lang
包中的一个类,其包含了所有的异常和错误,其中类Error
和Exception
是它的子类。throws
:是指在解决编译时异常,将方法中的异常抛给上一级,在方法后面要加throws Exception
来进行抛。throw
:是指在自定义异常时,如果方法出现异常,那么将作为引用方法的对象抛出,即抛出异常。 希望对您有所帮助!
java编程时错误 意外的类型 public class A1{ public static void main(String args[]){ String s1,s2,s3;
貌似不能这么写吧……?运算时条件成立时返回冒号前的值,条件不成立返回冒号后的值,这里要返回值,而不是条件成立时进行某个赋值运算……可以把错误那行改成:
s3 = s1.compareTo(s2) > 0 ? s1.substring(7,10) : s2.substring(2,2);
Java编程中常见的错误有哪些
相信作为程序员的我们在对程序进行编译过程中经常会遇到错误,或者在运行过程中出现错误,在这里主要跟大家谈谈经常遇到的一些异常与错误,以及解决办法。
异常是指程序在编译或运行过程出现的错误。
在 java.lang
包中 Throwable
包含了所有的异常。
Error(错误) 和 Exception(异常)
(1) Error(错误)
一旦发生无法修复,但可以避免发生。 常见错误类:
IOError
:I/O 错误,当发生严重的 I/O 错误时,抛出此错误。VirtualMachineError
:虚拟机错误,当 Java 虚拟机崩溃或用尽了它继续操作所需的资源时,抛出该错误。StackOverflowError
:栈内存满了,当应用程序递归太深而发生堆栈溢出时,抛出该错误。OutOfMemoryError
:堆内存满了,因为内存溢出或没有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常。 以上是一些常见的错误,在Error
类中还有一些别的错误(参照文件Java.lang.Throwable.Error
)。
(2) Exception(异常)
一旦发生,可以捕获并处理,不会导致程序终止,有时可以避免,有时无法避免。
异常的分类:
- 编译时异常(需要强制处理)
- 运行时异常(不需要强制处理)
常见的异常有:
IOException
:输入输出流异常FileNotFoundException
:文件找不到的异常ClassNotFoundException
:类找不到的异常DataFormatException
:数据格式化异常NoSuchFieldException
:没有匹配的属性异常NoSuchMethodException
:没有匹配的方法异常SQLException
:数据库操作异常TimeoutException
:执行超时异常
常见的运行时异常:
RuntimeException
:运行时异常NullPointerException
:空指针异常ArrayIndexOutOfBoundsException
:数组越界异常ClassCastException
:类型转换异常IllegalArgumentException
:非法的参数异常InputMismatchException
:输入不匹配 以上是常见的一些异常,另外还有别的异常,参见文件:Java.lang.Throwable.Exception
。 既然我们常常会遇到一些异常,那我们如何来处理这些异常就是一个急需解决的事情。
(1) 如何处理编译时异常?
方法一:将需要处理的代码块放在一个 try...catch... 中
try {
// 需要处理异常的代码
} catch (XXXException ef) {
ef.printStackTrace();
}
我们方法一就是要将我们不确定的代码放入 try...catch
中,先进行 try
一下,如果没有异常,则不会触发 catch
,没有输出;一旦出现异常,那么 catch
就会工作,在 catch
中捕获异常信息,根据异常信息进行补救措施。
如以下代码:
方法二:在出现异常的方法上直接向上抛出异常,throws
void ff() throws XXXException {
}
将出现的异常的代码中,放入如上的方法中,就会将异常抛给该方法的上一级,在主函数上继续向上抛,最终抛给 JVM(Java 虚拟机),让 JVM 来解决该问题。 如代码:
注意:在
catch
和throws
的时候如果不确定是什么异常,就直接写一个Exception
。
(2) 如何处理运行时异常?
- 一般情况下,运行时异常是不用处理的。
- 在某些情况下,如果对发生异常的结果进行处理,也可以对运行时异常进行
try...catch...
。 以上就是一些我们处理编译时异常和运行时异常的方法。 在程序出现异常时,有时候我们可以自定义异常,以便我们能够发现是什么异常。
那么如何自定义异常?
- 当运行时,程序出现意外,可以抛出异常对象来结束程序。
// 抛出运行时异常对象
RuntimeException ef = new RuntimeException("下标越界!index:" + index + " ,size:" + size());
throw ef;
- 对于编译时异常,同样可以抛出异常对象。
但在方法定义时候必须加上
throws
。
public void test(int t) throws Exception {
if (t < 0 || t > 100) {
Exception ef = new Exception("数据错误");
throw ef;
}
}
例如:
运行结果:
从结果可以看出,我们在输入数据的时候出现错误,这样通过自定义异常能够让我们更直接快速地找到运行或编译时的异常。
在上述中我们分别提到了三种 throw
,分别是 Throwable
、throws
以及 throw
,那么到底三者有什么区别?
Throwable
:是指在java.lang
包中的一个类,其包含了所有的异常和错误,其中类Error
和Exception
是它的子类。throws
:是指在解决编译时异常,将方法中的异常抛给上一级,在方法后面要加throws Exception
来进行抛。throw
:是指在自定义异常时,如果方法出现异常,那么将作为引用方法的对象抛出,即抛出异常。
java中异常java.util.InputMismatchException怎么解决?
建议:
- 对输入的数据处理一下,比如不是数字就不往下走之类的,然后再往下走就好了。
nextInt
,即输入的必须是整数,而你输入字符。 JAVA 中的异常可以大体上分为三大类:
Error
RuntimeException
Exception
(基类Throwable
派生的) 使用的方法也是基本一致的,都是通过关键字throw + Throwable
的形式报告这个异常或错误。 但是这三类Throwable
对象所代表的错误的含义和使用的场景是不同的:
Error
:这个一般是指程序无法处理的异常,如内存溢出,进程被强行结束等。RuntimeException
:是指由于代码编写方式不当而造成的异常。Exception
:就更像是一般意义上的异常。它一般是指程序在运行时碰到了一些意外,但是程序还可以处理的情况。比如网络断开了,用户弹出了 SD 卡等等。
JAVA语言中,异常处理有哪几种方式?
有两种方式:
- 捕获异常,自己处理。
throw
出去,让别人处理。 举个例子:
public class A {
try {
// 可能发生异常的语句...
} catch (Exception e) {
e.getMessage(); // 自己处理
}
}
public class A throws Exception {
// 可能发生异常的语句...
} // throw 出去,让别人处理
注意这里用的是 throws
。
如果在方法里面则用 throw
。
举例:
public class A {
try {
// 可能发生异常的语句...
} catch (Exception e) {
e.getMessage(); // 自己处理
throw new Exception("");
}
}
JAVA中提示“意外的类型”什么意思,怎么解决?
你好,是这么个意思。Java 的赋值语句格式是这样的:
变量 = 值;
如果等号左边的不是一个变量,那么就会提示“意外的类型”。 在详细点: 赋值表达式应该是:
变量 = 值
你的左边好像得到的是一个值,意思就是值 = 值,这样是不行的。