栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java异常

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java异常

Java异常

在我们编程的过程中,经常会碰到异常。比如强制转换时,不对其进行说明,就会出现异常。

示例
public class Test {
    public static void main(String[] args) {
        int a = 128;
        byte b = a;
        System.out.println("b = " + b);
    }
}
运行结果

程序异常一旦发生,程序中对其进行处理,那么整个程序就会停止运行,出现异常的语句的后面的语句将不会被执行。这样显然时不好的。因此,我们就可以通过一些异常处理语句来进行处理,让程序能够正常运行。一般处理异常的方法有两种:捕获和抛出。

异常的捕获与处理

异常的捕获与处理一般由 try-catch-finally 语句来实现。关于 try / catch 关键字的用法,之前的文章中就已经提到过了。传送门: try 和 catch 关键字

总结一下就是,我们可以将我们认为有可能有异常的语句放在 try 中尝试执行,如果语句有异常,则 try 中异常语句之后的所以语句都将不会被执行,转而执行 catch 中的语句;如果没有异常,就执行完 try 中的所有语句,而不去执行 catch 中的语句。不论是否有异常,只要有 finally 语句,都会执行 finally 语句。

异常的抛出

如果当前方法无法处理捕获的异常,就可以用 throws 声明将此异常抛出,交给上一个调用此方法的方法。如果还是无法处理,也可以继续抛出,直到将其处理或者最终交给JVM。而异常抛到JVM时,程序就会停止运行。

throws 关键字的用法: throws 异常类的类名

比如 private static void exceptionTest() throws Exception { }

当我们自己定义的异常需要抛出时,我们就必须使用 throw 关键字。throw 抛出的时异常对象而不是异常类,并且每次只能抛出一个异常对象。一旦 throw 语句被执行,其后的所有语句都不会被执行。

示例
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Test t = new Test();
        Scanner in = new Scanner(System.in);
        System.out.println("输入数字");
        int num = in.nextInt();
        try {
            t.regist(num);
        }
        catch (RegisterException e) {
            e.printStackTrace();
        }
    }

    public void regist(int num) throws RegisterException {
        if(num < 0)
            throw new RegisterException("值为负值,不合理");
        else
            System.out.println("值为: " + num);
    }

    class RegisterException extends Exception {
            public RegisterException() {

            }
            public RegisterException (String str) {
                super(str);
            }
    }
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/855350.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号