「java创造异常」java产生异常

博主:adminadmin 2022-11-21 13:11:10 208

今天给各位分享java创造异常的知识,其中也会对java产生异常进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

常见的java异常有哪些?都是什么意思?

1、ArithmeticException - 算术运算中,被0除或模除。

2、ArrayIndexOutOfBoundsException - 数组越界访问。

3、ArrayStoreException - 数据存储异常,写数组操作时,对象或数据类型不兼容。

4、ClassCastException - 类型转换异常。

5、IllegalArgumentException - 方法的参数无效。

6、IllegalThreadStateException - 试图非法改变线程状态,比方说试图启动一已经运行的线程。

7、NullPointerException - 试图访问一空对象的变量、方法或空数组的元素

8、NumberFormatException - 数据格式异常,试图把一字符串非法转换成数值(或相反)。

9、SecurityException - 如果Applet试图执行一被WWW浏览器安全设置所禁止的操作。

10、IncompatibleClassChangeException - 如改变了某一类定义,却没有重新编译其他引用了这个类的对象。如某一成员变量的声明被从静态改变为非静态,但其他引用了这个变量的类却没有重新编译,或者相反。

11、OutOfMemoryException - 内存不足,通常发生于创建对象之时。

12、NoClassDefFoundException - JAVA运行时系统找不到所引用的类。

13、IncompatibleTypeException - 试图实例化一个接口,Java运行时系统将抛出这个异常。

14、UnsatisfiedLinkException - 如果所需调用的方法是C函数,但Java运行时系统却无法连接这个函数。

15、InternalException - 系统内部故障所导致的异常情况,可能是因为Java运行时系统本身的原因。如果发现一可重现的InternalException,可以直接给Sun公司发电邮java@java.Sun.com。

如何用Java程序来编写一个异常?

class MyException extends Exception //自定义的异常类 继承Exception类

{

private String exceptionName; //定义一个私有变量,用来为自定义异常

public MyException(){} //创建一个无参数的构造函数

public MyException(String exceptionName){ //创建一个有参数的构造函数,传入的参数为前面定义的异常名称

this.exceptionName=exceptionName;

}

public String getExceptionName(){ //定义一个方法,提供给外部来获取私有变量

return this.exceptionName;

}

public static void main(String [] args){

try{

System.out.println("自定义的异常类对象");

throw new MyException("自定义的异常");//抛一个自定义的异常类对象,传入的参数就是给控制台看的异常

}catch(MyException e){

System.out.println("异常信息:"+e.getExceptionName());

}

}

}

我已经尽力你……你懂的!

如何在java中创建一个“自定义异常类”?

public class sssss {\x0d\x0a\x0d\x0apublic static void main(String[] args) {\x0d\x0a\x0d\x0a System.out.print("Please input an Integer: ");\x0d\x0a \x0d\x0a int value = new Scanner(System.in).nextInt();\x0d\x0a \x0d\x0a try{\x0d\x0a if(value

回答于 2022-11-16

「java创造异常」java产生异常

JAVA中什么情况下会产生异常?

java产生异常的情况有很多种,比如说你想把一个字符串型“123”转成int型123,ok,这样没有问题。代码如下:

String a = "123";

int b = Integer.parseInt(a);

但是如果你尝试如下写法

String a = "abc";

int b = Integer.parseInt(a);

编译器是不会给你提示任何错误,只有等程序真正运行到此处的时候,才会发生异常,以为parseInt无法将字符串"abc"转成int型。

我举得例子只是异常中的一种

另外,Java 异常的种类有三大类,可分为可检测异常,非检测异常和自定义异常。

可检测异常

可检测异常经编译器验证,对于声明抛出异常的任何方法,编译器将强制执行处理或声明规则,例如:sqlExecption 这个异常就是一个检测异常。你连接 JDBC 时,不捕捉这个异常,编译器就通不过,不允许编译。

非检测异常

非检测异常不遵循处理或声明规则。在产生此类异常时,不一定非要采取任何适当操作,编译器不会检查是否已解决了这样一个异常。例如:一个数组为 3 个长度,当你使用下标为3时,就会产生数组下标越界异常。这个异常 JVM 不会进行检测,要靠程序员来判断。有两个主要类定义非检测异常:RuntimeException 和 Error。

Error 子类属于非检测异常,因为无法预知它们的产生时间。若 Java 应用程序内存不足,则随时可能出现 OutOfMemoryError;起因一般不是应用程序的特殊调用,而是 JVM 自身的问题。另外,Error 一般表示应用程序无法解决的严重问题。

RuntimeException 类也属于非检测异常,因为普通 JVM 操作引发的运行时异常随时可能发生,此类异常一般是由特定操作引发。但这些操作在 Java 应用程序中会频繁出现。因此,它们不受编译器检查与处理或声明规则的限制。

自定义异常

自定义异常是为了表示应用程序的一些错误类型,为代码可能发生的一个或多个问题提供新含义。可以显示代码多个位置之间的错误的相似性,也可以区分代码运行时可能出现的相似问题的一个或者多个错误,或给出应用程序中一组错误的特定含义。例如,对队列进行操作时,有可能出现两种情况:空队列时试图删除一个元素;满队列时试图添加一个元素。则需要自定义两个异常来处理这两种情况。

用java编写异常

public class NoOprandException{

String a;

String b;

public NoOprandException(String a,String b){

this.a=a;

this.b=b;

}

public String errorException(){

if((a==nulla.equals(""))(b==nullb.equals(""))){

return "NoOprand错误!";

}

return;

}

}

public class OnlyOneException{

String a;

String b;

public OnlyOneException(String a,String b){

this.a=a;

this.b=b;

}

public String errorException(){

if((a==nulla.equals(""))||(b==nullb.equals(""))){

return "OnlyOne错误!";

}

return;

}

}

public class a{

public static void main(String[] args){

Scanner scan1=new Scanner(System.in);

Scanner scan2=new Scanner(System.in);

String line1=scan1.nextLine();

String line2=scan2.nextLine();

try{

throw new OnlyOneException(line1,line2);

}catch(OnlyOneException e){

System.out.print(e);

System.out.exit(0);

}

try{

throw new NoOprandException(line1,line2);

}catch(NoOprandException e){

System.out.print(e);

System.out.exit(0);

}

}

}

在JAVA中如何创建一个自定义异常?

自定义异常类型是从Exception类中派生的,所以要使用下面的声明语句来创建:

class自定义异常名extendsException{...}

关于java创造异常和java产生异常的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。