Java中异常处理-详解

这篇具有很好参考价值的文章主要介绍了Java中异常处理-详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

异常(Exception)

  • JVM 默认处理方案

    • 把异常的名称,异常的原因,及异常出错的位置等信息输出在控制台
    • 程序停止执行
  • 异常类型

    编译时异常 必须显示处理,否则程序会发生错误,无法通过编译
    运行时异常 无需显示处理,也可以和编译时异常一样处理
  • 代码示例:

    Java中异常处理-详解,Java 基础知识专栏,java,开发语言,异常


异常处理三种方式

try…catch
  • 格式:

    try{ 
        可能出现异常的代码;  
    }catch(异常类名 变量名){
        异常的处理代码;
        e.printStackTrace();		// 打印异常信息
    }finally{
        有无异常都执行的代码
    }
    
  • 示例代码:

    public class Test5 {
        public static void main(String[] args) {
            try{
                //分母不能为 0 ,很明显错误,程序运行到这,抛出算术运算异常:ArithmeticException
                int a = 5/0;
                // ①
                System.out.println("砥砺前行");
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                System.out.println("欢迎来到编程世界!");
            }
        }
    }
    

    ①位置因,上一行代码异常,被抓取到了,catch 中进行处理,处理完后,执行 finally 中代码,finally 最经常使用于,IO 处理释放流

    Java中异常处理-详解,Java 基础知识专栏,java,开发语言,异常


throws
  • 格式:

    throws 异常类名	
    

    跟在方法的括号后面,仅仅是将异常抛出,谁调用谁处理,main 抛出,由 JVM 虚拟机处理

  • 示例代码:

    public class Test6 {
        public static void main(String[] args) {
            try{
                show();
            }catch (Exception e){
                e.printStackTrace();
            }
            System.out.println("欢迎来到编程世界!");
        }
        public static void show() throws ArithmeticException{
            int a = 5/0;
            System.out.println(a);
        }
    }
    

    Java中异常处理-详解,Java 基础知识专栏,java,开发语言,异常


throw
  • 自定义异常,用在方法体内,跟的是异常对象名,表示抛出异常

  • 格式

    throw new Exception("自定义异常");
    
  • 示例代码

    public class Test7 {
        public static void main(String[] args) throws Exception {
            // 创建键盘输入对象
            Scanner sc = new Scanner(System.in);
            int i = 1;
            // 三次机会
            System.out.println("请输入颜色:");
            while(i <= 3){
                String color = sc.next();
                show(color);
            }
        }
        public static void show(String color) throws Exception {
            if(color.equals("黑色")){
                throw new Exception("颜色有误!");
            }else if(color.equals("白色")){
                System.out.println("颜色正确");
                System.exit(0);
            }else{
                System.out.println("请重新输入颜色:");
            }
        }
    }
    

    Java中异常处理-详解,Java 基础知识专栏,java,开发语言,异常文章来源地址https://www.toymoban.com/news/detail-782054.html

到了这里,关于Java中异常处理-详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《C++基础知识精讲》专栏介绍

            本专栏深入讲解C++方面的基础知识,帮你理解透彻,灵活运用,适合有一定C/C++基础的程序员阅读。         本专栏一共25篇,已完结,内容覆盖宏、结构体、指针、运算符、构造函数、继承与派生、友元、命名空间、异常处理、模板、STL等各个方面的内容。   

    2024年02月01日
    浏览(56)
  • 图论专栏一《图的基础知识》

    图论(Graph Theory)是数学的一个分支 。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些实体之间的某种特定关系,用点代表实体,用连接两点的线表示两个实体间具有的某种关系。 相比矩阵、张量、序列等结构,

    2024年02月03日
    浏览(38)
  • python:基础知识—流程控制—函数与模块—数据结构—类与GUI和Turtle—异常处理与文件,概括全书(上万字最详细版)

    这里是一张夜景,给大家放松一下。 !!无锡南长街 python是一门同时支持 面向过程 与 面向对象 的高级语言,由于开放源码的特性,具有 移植性好,可跨平台,具有丰富的第三方库 。扩展名名为 .py 。 python中常见的数字有三种类型·:整数( integer ),浮点数( float ),与

    2024年02月09日
    浏览(54)
  • 【JavaEE基础学习打卡00】该专栏知识大纲在这里!

    📜 本系列教程适用于 Java Web 初学者、爱好者,小白白。我们的天赋并不高,可贵在努力,坚持不放弃。坚信量最终引发质变,厚积薄发。 🚀 文中白话居多,尽量以小白视角呈现,帮助大家快速入门。 🎅 我是 蜗牛老师 ,之前网名是 Ongoing蜗牛 ,人如其名,干啥都慢,所

    2024年02月10日
    浏览(31)
  • Java数组详解 -- 基础知识与常用操作

    为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。 (博客的参考源码以及可以在我主页的资源里找到,如果在学

    2024年02月13日
    浏览(49)
  • Python基础知识:整理10 异常相关知识

        当在主函数中没有捕获处理异常时,会报异常错误 处理后   

    2024年01月18日
    浏览(56)
  • 音频数据处理基本知识学习——降噪滤波基础知识

    滤波是一种信号处理方法,它可以通过消除或减弱信号中的某些频率分量,来实现信号的去噪、去除干扰、增强某些频率成分等目的。常见的滤波方法包括低通滤波、高通滤波、带通滤波等。 降噪是一种信号处理方法,它可以通过消除或减弱信号中的噪声成分,来提高信号的

    2024年02月15日
    浏览(49)
  • Selenium基础知识 多窗口处理

    有时需要在多个窗口之间来回切换从而测试一些功能。例如在手机注册页面、邮箱注册页面及其他社交帐号注册页面分别进行测试,可以同时打开多个窗口进行注册及登录。 Selenium针对跨浏览器的窗口处理应注意以下几点: · 在Selenium中每个窗口被当作一个会话句柄。 · We

    2024年02月16日
    浏览(43)
  • 5.8.webrtc事件处理基础知识

    在之前的课程中呢,我向你介绍了大量web rtc线程相关内容,今天呢,我们来看一下线程事件处理的基本知识。首先,我们要清楚啊,不同的平台处理事件的API是不一样的,这就如同我们当时创建线程是类似的,对吧?那对于Windows系统来说呢,它提供了wsa even的select以及完全端

    2024年02月11日
    浏览(34)
  • 【OpenCV】计算机视觉图像处理基础知识

    目录 前言 推荐 1、OpenCV礼帽操作和黑帽操作 2、Sobel算子理论基础及实际操作 3、Scharr算子简介及相关操作 4、Sobel算子和Scharr算子的比较 5、laplacian算子简介及相关操作 6、Canny边缘检测的原理 6.1 去噪 6.2 梯度运算 6.3 非极大值抑制 6.4 滞后阈值 7、Canny边缘检测的函数及使用

    2024年02月05日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包