首页 > 其他分享 >异常以及处理方案 day15

异常以及处理方案 day15

时间:2024-08-14 16:15:56浏览次数:8  
标签:方案 java System try day15 catch println 异常

/*
    异常:java程序编译或者运行时遇到的错误

    java中的异常分为3种:
    Throwable:
        Error: 错误
        Exception:
            编译时期异常
            RuntimeException(运行时期异常)

    举例,该例子仅上课使用,如现实生活遇到,概不负责。魏一民想要去大蜀山,骑哈罗电单车去,骑车骑到一半没电了(编译时期异常),应该是在出发
         前就应该检查的问题;骑车在大蜀山的路上,遇到了钉子,轮胎漏气了,这个是骑车的过程种遇到的问题(运行时期异常);大蜀山火山喷发了,
         挡住了前进的路,这个问题就属于非常严重的问题(Error)。

    java遇到程序遇到问题时,默认的处理方案是:结束java进程,报错。

 */
/*
    异常的处理方案:
        1、try...catch...finally
        2、throws

    方案1:
        try{
            可能会出错的代码;
        }catch(异常类 参数){
            处理的方案逻辑;
        }

    try..catch..注意事项:
        1、try中定义变量作用域就在try种使用
        2、若try中代码没有异常,是不会匹配catch的
        3、catch若没有try出现的异常类型的话,就会使用java默认处理异常方案
        4、catch可以写多个,也可写一个,但是若多个catch存在继承关系的话,将父亲放在儿子的后面
        5、若使用jdk1.8新特性写法,使用一个catch接收多个异常类的话,不允许出现父子关系异常
 */
package com.shujia.day15;

public class ExceptionDemo3 {
    public static void main(String[] args) {
        try {
            int a = 10;
            System.out.println(a / 2);  // new ArithmeticException()
        } catch (ArithmeticException e) {// ArithmeticException e = new ArithmeticException()
//            System.out.println(e.getMessage());
//            System.out.println(e.toString());
            e.printStackTrace();
        }finally { // 无论try中的代码是否出现问题,这里的代码都会执行
            //一般情况下,finally里面写释放资源的代码
            System.out.println("好好学习,天天向上!");
        }

        System.out.println("hello world");
        System.out.println("魏一民真帅!");
    }
}
package com.shujia.day15;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;

/*
    异常处理的第二种方案:throws

    在方法的定义小括号后面加异常类名。可以同时抛出多个异常类,表示该方法可能会出现某个异常,表示可能性


    throw关键字,在方法内部使用,后面跟着是一个具体的异常对象,表示一定会发生某个异常


    举例,该故事纯属虚拟,仅供上课案例。徐思远是一个快乐的小矿工,有一天,正常挖矿(java程序运行),突然挖到一颗远古炸弹(遇到了异常)
    ,开始将炸弹往洞口传递(throw),到了洞口给到了矿场管理者,管理者引爆了炸弹(try..catch)。

    throws抛出的若是编译时期异常,调用者必须要进行处理,否则程序无法通过遍历。
    若抛出的是运行时期异常,可以不处理,可以运行

 */
public class ExceptionDemo4 {
    public static void main(String[] args){

//        try {
//            fun1();
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//
//        System.out.println("oveer");

//        fun1();

//        try {
//            fun2();
//        }catch (Exception e){
//            e.printStackTrace();
//        }

        fun1();


//        fun2();


    }

    public static void fun2() throws FileNotFoundException {
        FileInputStream fis = new FileInputStream("xxx");
    }

    public static void fun1() throws ArrayIndexOutOfBoundsException{
        int[] arr = {1, 2, 3, 4};
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要查询的索引:");
        int index = sc.nextInt();
        if (index >= 0 && index <= arr.length - 1) {
            System.out.println(arr[2]);
        } else {
            throw new ArrayIndexOutOfBoundsException();
        }


        System.out.println("hello world");
    }
}

标签:方案,java,System,try,day15,catch,println,异常
From: https://www.cnblogs.com/qiwei-bigdata/p/18359240

相关文章

  • CHS-DRG(2.0)升级版核心分组方案介绍
    第二界CHS-DRG/DIP支付方式改革大会上,对CHS-DRG升级版核心分组的方案介绍,对2.0版本总结​​以下是对郭老师在第二界CHS-DRG/DIP支付方式改革大会上,对CHS-DRG升级版核心分组的方案介绍(保留部分核心内容):1.核心组ADRG的分组流程首先,郭老师介绍了ADRG分组的基本流程。她指出,A......
  • 前端可视化大屏适配方案
    最开始比较流行的三大解决方式:rem方案动态设置 HTML 根字体大小和 body 字体大小,配合百分比或者 vw/vh 实现容器宽高、字体大小、位移的动态调整vw/vh方案将像素值(px)按比例换算为视口宽度(vw)和视口高度(vh),能够实时计算图表尺寸、字体大小等scale方案根据宽高......
  • 百万级超长序列大模型训练如何加速,硬核解读MindSpeed方案
    摘要:针对现有长序列训练场景的痛点,MindSpeed在并行算法、计算效率、内存占用以及通信四个维度系统性优化大模型长序列训练效率,支持大模型百万级长序列训练。1      长序列已经成为主流大模型能力之一23年底Gemini1.5Pro发布以来,大模型序列长度迅速增长,处理超长序列上下......
  • AP5127 DC-DC降压恒流IC 输入12-100V 输出2.5A LED车灯与手电筒方案
    产品描述AP5127是一款PWM工作模式,高效率、外围简单、内置功率管,适用于12-100V输入的高精度降压LED恒流驱动芯片。输出最大功率可达25W,最大电流2.5A。AP5127可实现全亮/半亮功能切换,通过MODE切换:全亮/半亮/循环模式。AP5127工作频率固定在140KHZ,同时内置抖频......
  • HashMap和Hashtable的区别 day15
    /*Map:存储元素的特点是每一个元素是一个键值对{【name:"魏一民"】,【age:18】}Map集合的共同拥有的特点:1、Map集合中的元素,键是唯一的,不会在一个Map集合发现两个相同的键1001:魏一民1002:陈真1001:小虎2......
  • AWS多活容灾方案设计:IoT与移动应用的高可用架构
    1.引言在当今数字化时代,IoT设备和移动应用的无缝集成已成为许多企业的核心需求。然而,确保这些系统的高可用性和灾难恢复能力仍然是一个重大挑战。本文将详细探讨如何利用AWS的服务构建一个强大的多活容灾方案,特别关注IoT设备和移动应用必须在同一AWS区域内通信的特殊要求......
  • 【第59课】XML&XXE安全&无回显方案&OOB盲注&DTD外部实体&黑白盒挖掘
    知识点:1、XXE&XML-原理-用途&外实体&安全2、XXE&XML-黑盒-格式类型&数据类型3、XXE&XML-白盒-函数审计&回显方案详细点:XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传......
  • Java面试题(异常)
    目录1.throw和throws的区别?2.final、finally、finalize有什么区别?3.try-catch-finally中哪个部分可以省略?4.try-catch-finally中,如果catch中return了,finally还会执行吗?5.常见的异常类有哪些?1.throw和throws的区别?throw:是真实抛出一个异常。thr......
  • 多模态大模型中的幻觉问题及其解决方案
    人工智能咨询培训老师叶梓转载标明出处多模态大模型在实际应用中面临着一个普遍的挑战——幻觉问题(hallucination),主要表现为模型在接收到用户提供的图像和提示时,可能会产生与图像内容不符的描述,例如错误地识别颜色、数量或位置等。这种误判可能对实际应用造成严重影响,如在自......
  • java几种常见漏洞种类及处理方案
    一、SQLInjection(SQL注入漏洞)1.使用参数化查询(PreparedStatements)参数化查询是防止SQL注入最有效的方法之一。它确保用户输入的数据作为参数传递,而不是作为SQL命令的一部分。在Java中,可以使用PreparedStatement来实现这一点。示例代码:Stringsql="SELECT*FROMusers......