捕获和抛出异常

异常处理五个关键字

try , catch , finally , throw , throws

try catch finally(快捷键:选中要要监控的代码语句 快捷键: ctrl + alt + t)
  1.  package exception;
     
     public class Test {
         public static void main(String[] args) {
             int a = 1;
             int b = 0;
     
             try{//try 监控区域
                 System.out.println(a/b);
            }catch (ArithmeticException e){//catch 捕获异常
                 System.out.println("程序出现异常,b不能为0");
            }finally {// 处理善后工作
                 System.out.println("finally");
            }
             
             //finally 可以不要finally, 用: 假设IO,资源需要关闭
             
        }
     }
     ---------------------------------------------------------------------------------------------------
     
     // 选中要要监控的代码语句 快捷键: ctrl + alt + t
     package exception;
     
     public class Test {
         public static void main(String[] args) {
             int a = 1;
             int b = 0;
             
             // 假设要捕获多个异常: 异常类型:从小到大
             
             try{//try 监控区域
                 System.out.println(a/b);
            }catch (Error e){//catch(想要捕获的异常类型!) 捕获异常
                 System.out.println("Error");
            }catch (Exception e){
                 System.out.println("Exception");
            }catch (Throwable t){
                 System.out.println("Throwable");
            }
             finally {// 处理善后工作
                 System.out.println("finally");
            }
     
             //finally 可以不要finally, 用: 假设IO,资源需要关闭
     
        }
     }
     
throw throws
  1.  package exception;
     
     public class Test {
         public static void main(String[] args) {
     
             new Test().test(1,0);
        }
         
         public void test(int a , int b){
             if(b==0){// throw throws
                 throw new ArithmeticException();//主动抛出异常,一般在方法中使用 throw
            }
             System.out.println(a/b);
        }
     }
     ---------------------
         package exception;
     
     public class Test {
         public static void main(String[] args) {
     
             try {
                 new Test().test(1,0); // try catch
            } catch (ArithmeticException e) {
                 e.printStackTrace();
            }
        }
         
         // 假设这个方法中,处理不了这个异常。方法上抛出异常
         public void test(int a , int b) throws ArithmeticException{ // throws
             if(b==0){// throw throws
                 throw new ArithmeticException();//主动抛出异常,一般在方法中使用
            }
             System.out.println(a/b);
        }
     }

学习内容源自视频:b站狂神说Java

Java异常01——捕获和抛出异常的更多相关文章

  1. java 异常的捕获及处理

    在没有异常处理的程序中如果要回避异常,需要使用大量的判断语句,配合所想到的错误状况来捕捉程序中可能发生的错误.但是这样势必会导致程序运行效率降低.java异常处理机制具有易于使用,可自定义异常类,处理 ...

  2. 菜鸡的Java笔记 第三十 - java 异常的捕获及处理

    异常的捕获及处理        1.异常的产生分析以及所带来的影响        2.异常的处理的基本格式        3.异常的处理流程        4.异常的处理模式        5.自定义 ...

  3. JAVA异常的捕获与抛出原则

    在可能会出现exception的地方,要使用try-catch或者throws或者两者都要.我的判断依据是:如果对可能出现的exception不想被外部(方法的调用者)知道,就在方法内部try-cat ...

  4. 【开发技术】java异常的捕获与抛出原则

    在可能会出现exception的地方,要使用try-catch或者throws或者两者都要.我的判断依据是:如果对可能出现的exception不想被外部(方法的调用者)知道,就在方法内部try-cat ...

  5. Java -- 异常的捕获及处理 -- 目录

    7 异常的捕获及处理 7.1 异常的基本概念 7.1.1 为什么需要异常处理 7.1.2 在程序中使用异常处理 7.1.3 异常类的继承结构 7.1.4 Java的异常处理机制 7.2 throws与 ...

  6. java 异常与捕获

    几乎所有的代码里面都会出现异常,为了保证程序在出现异常之后可以正常执行完毕,就需要进行异常处理. 先来看一下异常的继承类结构: 所有的异常都是由Throwable继承而来,我们来看他下面的两个子类Er ...

  7. Java异常的捕获与处理

    Java提供了try(尝试).catch(捕捉).finally(最终)这三个关键字来处理异常.在处理各种异常时,需要用到对应的异常类,指的是由程序抛出的对象所属的类. 一.异常处理的使用 由于fin ...

  8. Java -- 异常的捕获及处理 -- Java的异常处理机制

    7.1.4 Java的异常处理机制 在整个Java的异常处理中,实际上也是按照面向对象的方式进行处理,处理的步骤如下: ⑴ : 一旦产生异常,则首先会产生一个异常类的实例化对象. ⑵ : 在try语句 ...

  9. Java -- 异常的捕获及处理 -- throws与throw关键字

    7.2 throws 与 throw关键字 7.2.1 throws 关键字 在定义一个方法时可以使用throws关键字声明,使用throws声明的方法标识此方法不处理异常,而交给方法的调用处进行处理 ...

随机推荐

  1. Unity 添加,修改默认创建脚本模板

    Unity 默认创建的脚本可以添加也可以修改,不需要修改Editor. 一.找到模板目录 \Editor\Data\Resources\ScriptTemplates 二.如果要修改模板,直接打开修改 ...

  2. form 向java控制类 提交多表数据 、提交list数组数据

    案例:form中有三个表的数据,一个主表,两个子表 1.在主表model类添加 对应子表数据集 2.界面上主表定义 3.控制类接收,直接用主表对象接收即可

  3. Integer Inquiry 大数加法

    Integer Inquiry 1 import java.util.*; 2 import java.math.*; 3 import java.io.*; 4 import java.text.* ...

  4. CentOS-Docker搭建Nextcloud

    下载镜像 $ docker pull nextcloud 运行镜像 $ docker run -d --restart=unless-stopped --name nextcloud -v /home ...

  5. Springboot:Springboot+mysql5.7搭建服务,超过8小时连接mysql失败

    报错信息 2017-03-12 03:00:02.539 ERROR 9311 --- [nio-9000-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] ...

  6. java swagger ui 添加header请求头参数

    我用到的swagger 主要有三款产品,swagger editor,swagger ui 和swagger codegen. swagger editor:主要是一个本地客户端,用来自己添加api, ...

  7. 24 shell 管道命令与过滤器

    1.管道命令的用法 2.使用管道命令的好处: 3.重定向和管道的区别 4.Linux管道实例 5.管道与重定向 1)管道与输入重定向 2)管道与输出重定向 6.过滤器 7.过滤器举栗 1.管道命令的用 ...

  8. ESP32-mqtt笔记

    基于ESP-IDF4.1 #include <stdio.h> #include <stdint.h> #include <stddef.h> #include & ...

  9. Djiango 连接数据库mysql 的基本数据操作

    1.单表操作 (1) .增加操作 1 # 增加操作 2 def add_person(request): 3 # 1.使用save() 方法 4 # person_obj = models.Perso ...

  10. konga的初步使用

    目录 1. 设置连接 2. konga的重要功能 Dashboard Snapshots Settings 3. 通过konga 实现kong api配置 前言: 在上篇文章中,我们已经创建了一个到k ...