美文网首页青春韶华
java手动抛出异常

java手动抛出异常

作者: 星空无痕 | 来源:发表于2022-10-22 11:12 被阅读0次

手动抛出异常:throw

        Java异常类对象除在程序执行过程中出现异常时由系统自动生成并抛出,也可根据需要使用人工创建并抛出。

        首先要生成异常类对象,然后通过throw语句实现抛出操作(提交给Java运行环境)。

                throw exceptionObject

        程序员也可以通过throw语句手动显式的抛出一个异常。throw语句的后面可以抛出的异常必须是Throwable或其子类的实例。下面的语句在编译时将会产生语法错误:

                throw new String("你抛我试试.");

        throw 语句必须写在函数中,执行throw 语句的地方就是一个异常抛出点,它和由JRE自动形成的异常抛出点没有任何差别。

public class StudentTest {

    public static void main(String[] args) {

        try {

            Student s = new Student();

            s.regist(-1001);

            System.out.println(s);

        } catch (Exception e) {

            System.out.println(e.getMessage());

        }

    }

}

class Student {

    private int id;

    public void regist(int id) throws Exception {

        if (id > 0) {

            this.id = id;

        } else {

            // System.out.println("您输入的数据非法!");

            //手动抛出异常对象

            // throw new RuntimeException("您输入的数据非法!");

            throw new Exception("您输入的数据非法!");

            //错误的

            // throw new String("不能输入负数");

        }

    }

    @Override

    public String toString() {

        return "Student [id=" + id + "]";

    }

}

throws和throw的区别:

        throw是语句抛出一个异常。

                语法:throw (异常对象);

                    throw e;

        throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)

                语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......}

                    public void doA(int a) throws Exception1,Exception3{......}

        throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。

        throws出现在方法函数头,表示在抛出异常,由该方法的调用者来处理。

        throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常。

        throw是具体向外抛异常的动作,所以它是抛出一个异常实例。

        throws说明你有那个可能,倾向。

        throw的话,那就是你把那个倾向变成真实的了。

        两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。

相关文章

  • jvm如何处理异常

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

  • [PHP错误异常]⑧--异常处理案例演示

    Php不像java提供了很多异常类,所以很多异常都会当成错误。要想变错误为抛出异常,需要 手动throw异常对象

  • Django手动抛出异常

    使用raise RuntimeError('CountSizeError')可以手动抛出一个RuntimeErro...

  • python自定义异常和主动抛出异常(raise)

    前言 有时候python自带异常不够用,如同java,python也可以自定义异常,并且可以手动抛出。注意,自定义...

  • 【Solidity学习笔记】异常

    3.7 异常 在某一些情况下,异常会被自动抛出,如除数为0也可以通过throw关键词,手动抛出异常抛出异常后,会中...

  • Java 异常(Java Exception)(三)

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

  • 一文读懂 JAVA 异常处理

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

  • JS高级 05

    面向对象实例(图书管理操作) 报错异常: throw手动抛出异常信息for(){}throw ''; return...

  • 03/13牛客刷题总结

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

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

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

网友评论

    本文标题:java手动抛出异常

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