Java之异常抛出

作者: 4553675200ad | 来源:发表于2019-05-18 20:36 被阅读0次

异常的使用概述
异常及时Java程序在运行的过程中出行的错误

异常分类

JVM是如何处理异常的

main方法遇到这种问题有两种处理异常的方式 a:自己将问题处理,然后运行 b:没有针对处理方式,就会交给main方法的JVM去处理 c:JVM里面有一个默认的异常处理机制,将异常的名称,信息打印在控制台,并停止程序运行。

try抛出异常的三种方式

try...catch
   try...finally
   try...catch...finally
 public class Demo2_Exception {
    public static void main(String[] args) {
//        demo();
        int a=10;
        int b=0;

        int[] arr = {11, 22, 33, 44, 55};
        try {
            int c=a/b;
            arr=null;
            System.out.println(arr[10]);
            System.out.println(c);
            //JDK7出现的抛出异常方法,只要出现其中一个就可以抛出异常,为发生错误
        }catch(ArithmeticException |ArrayIndexOutOfBoundsException e){
            System.out.println("发生错误");
        }
    }
    public static void demo() {
        int a=10;
        int b=0;

        int[] arr = {11, 22, 33, 44, 55};
        try {
            int c=a/b;
            arr=null;
            System.out.println(arr[10]);
            System.out.println(c);
            //如果一个try后边跟着多个catch,最小的条件放在前面,大的条件放在后面
        }catch(ArithmeticException e){
            System.out.println("被除数为0");
        }catch (ArrayIndexOutOfBoundsException e){
            System.out.println("数组索引越界");
        }catch (Exception e){
            System.out.println("发生错误");
        }
    }
}

异常分类

运行时异常:就是程序出现的错误 编译时异常:在编译程序时会出现的异常,必须在编译时候处理。

Throwable

a:getMessage()是获取异常信息 b:toString()是获取异常的名称 c:printStackTrace()抛出异常信息和名称,已经异常出现的位置,返回值为void

异常throw的方式处理

throws是抛出问题,暴露问题,让调用这使用
编译时异常需要对其处理
运行时异常可以处理也不可以处理
Throw概述:
在方法类部使用,程序不能进行,需要跳转,就用throw抛出异常
Throws是在方法名称上声明后面,跟在类名后面,可以接多个异常类名,可以用逗号隔开。

final ,finally,finallize

final是修饰类的,类不能被继承。
final修饰方法,不能被重写。
fianl修饰常量,只能赋值一次
finally,是try...catch的一个语句,不能单独使用,使用来释放资源
fianllize是一个方法,当垃圾回搜器不存在引用对象,由对象的垃圾回收此调用方法。

public class Demo7_Finally {
    public static void main(String[] args) {

        try {
            System.out.println(10/0);
        }catch (Exception e){
            e.printStackTrace();
            System.exit(0);
            return;
        }finally {
            System.out.println("我这有没有执行");
        }

    }

自定义异常

通过名称去确定啥类型的异常,这样就有针对性的解决异常

Java
public class Demo8_Exception {

}

class AgeOutOfBoundsException extends Exception {
    public AgeOutOfBoundsException() {
        super();
    }

    public AgeOutOfBoundsException(String message) {
        super(message);
    }
public class Demo8_Exception_Zhidingyi {
    public static void main(String[] args) {
        Person1 person1 = new Person1();
     person1.setAge(99);
        System.out.println(person1.getAge());
    }
}

异常注意事项

子类在重写父类的方法时候,子类必须抛出和父类相同,父类子类的异常,子类不能抛出父类没有的异常。 try... catch的区别 try后面要接运行的代码 finally后面接不运行的代码

相关文章

  • Java之异常抛出

    异常的使用概述异常及时Java程序在运行的过程中出行的错误 异常分类 JVM是如何处理异常的 main方法遇到这种...

  • jvm如何处理异常

    异常分类 抛出异常 显示 throw手动抛出y异常 隐示 java虚拟机碰到无法继续执行的异常状态,自动抛出异常 ...

  • Java 异常(Java Exception)(三)

    4.2 抛出异常 任何Java代码都可以抛出异常,如:自己编写的代码、来自Java开发环境包中代码,或者Java运...

  • 一文读懂 JAVA 异常处理

    JAVA 异常类型结构 Error 和 Exeption 受查异常和非受查异常 异常的抛出与捕获 直接抛出异常 封...

  • 03/13牛客刷题总结

    1.java中的异常处理包括声明异常、抛出异常、捕获异常和处理异常四个环节。 throw用于抛出异常 throws...

  • JNI基础(10): JNI异常处理

    为了处理以Java代码实现的方法执行中抛出的异常,或者是Native代码中抛出的Java异常,JNI提供了Java...

  • J2EE学习之路-错误记录

    抛出异常: Exception in thread "main" java.lang.NoClassDefFoun...

  • java基础知识精华总结(二)

    1.异常类 JAVA中除了RunTimeException 类,其他异常均须捕获或抛出。 以上就是 java 基础...

  • Java 异常处理——声明、抛出异常

    声明检查类型异常 throws    概述:如果一个方法可能会出现异常,但我们不想使用try..catch 精准...

  • Java- 异常处理

    Java- 异常处理 异常处理能够使一个方法给它的调用者抛出一个异常。 Java异常是派生自 java.lang....

网友评论

    本文标题:Java之异常抛出

    本文链接:https://www.haomeiwen.com/subject/ascxzqtx.html