java异常处理之抛出异常

PyTorch多机训练Loss不一致问题排查指南:基于算子级一致性验证 比较二次训练过程中所有算子的误差,定位存在一致性问题的pytorch算子 阅读详情

抛出处理

定义一个功能,进行除法运算例如(div(int x,int y))如果除数为0,进行处理。

功能内部不想处理,或者处理不了。就抛出使用throw new Exception(“除数不能为0”); 进行抛出。抛出后需要在函数上进行声明,告知调用函数者,我有异常,你需要处理如果函数上不进行throws 声明,编译会报错。例如:未报告的异常 java.lang.Exception;必须对其进行捕捉或声明以便抛出throw new Exception(“除数不能为0”);

public static void div(int x, int y) throws Exception { // 声明异常,通知方法调用者。

        if (y == 0) {
    throw new Exception("除数为0"); // throw关键字后面接受的是具体的异常的对象
        }
        System.out.println(x / y);
        System.out.println("除法运算");
    }

main方法中调用除法功能

调用到了一个可能会出现异常的函数,需要进行处理。
        1:如果调用者没有处理会编译失败。
如何处理声明了异常的函数。
        1:try{}catch(){}

    public static void main(String[] args) {

        try {
            div(2, 0);
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("over");

    }

    public static void div(int x, int y) throws Exception { // 声明异常,通知方法调用者。

        if (y == 0) {
    throw new Exception("除数为0"); // throw关键字后面接受的是具体的异常的对象
        }
        System.out.println(x / y);
        System.out.println("除法运算");
    }
}

2:继续抛出throws

class Demo9 {

    public static void main(String[] args) throws Exception {
        div(2, 0);
        System.out.println("over");
    }

    public static void div(int x, int y) throws Exception { // 声明异常,通知方法调用者。
    if (y == 0) {
        throw new Exception("除数为0"); // throw关键字后面接受的是具体的异常的对象
    }

        System.out.println(x / y);
        System.out.println("除法运算");
    }
}

throw和throws的区别
1. 相同:都是用于做异常的抛出处理的。
2. 不同点:
1. 使用的位置: throws 使用在函数上,throw使用在函数内
2. 后面接受的内容的个数不同:
1. throws 后跟的是异常类,可以跟多个,用逗号隔开。
2. throw 后跟异常对象。

//throws 处理
public static void main(String[] args) throws InterruptedException {
        Object obj = new Object();
        obj.wait();

    }
public static void main(String[] args) {

        //try catch 处理
        Object obj = new Object();
        try {
            obj.wait();
        } catch (InterruptedException e) {

            e.printStackTrace();
        }

    }

总结

  1. try语句不能单独存在,可以和catch、finally组成 try…catch…finally、try…catch、try…finally三种结构。
  2. catch语句可以有一个或多个,finally语句最多一个,try、catch、finally这三个关键字均不能单独使用。
  3. try、catch、finally三个代码块中变量的作用域分别独立而不能相互访问。如果要在三个块中都可以访问,则需要将变量定义到这些块的外面。
  4. 多个catch块时候,Java虚拟机会匹配其中一个异常类或其子类,就执行这个catch块,而不会再执行别的catch块。(子类在上,父类在下)。
  5. throw语句后不允许有紧跟其他语句,因为这些没有机会执行。
  6. 如果一个方法调用了另外一个声明抛出异常的方法,那么这个方法要么处理异常,要么声明抛出。
双目视觉三维重构(一)————简介 CSDN中关于立三维重构的介绍层出不穷,CNKI中也有各类综述对三维重构进行总结,撰写这篇博客仅作为本人对该类博客、论文的总结学习,加深自身学习的印象、作为学习的笔记。如有错误的地方,欢迎指正。   1、三维重构 1.1、三维重构到底是什么?   首先要了解立体匹配算法,首先要知道立体匹配算法主要具体应用于什么方向。 三维重构又被称为三维重建,百度百科中对它的定义为:指对三维物体建立适合... 阅读详情

相关推荐

Java千百问_04异常处理(003)_如何抛出异常

java如何抛出异常 抛出异常使用throws/throw关键字。 throws关键字是什么 throws用来声明某一个方法可能抛出异常,这个异常可以是系统定义的,也可以是自己定义的。 调用throws修饰的方法,必须要对其做异常处理或者将异常继续声明抛出(使用throws)。

幽灵雾的专栏 6345

java中的throw new Exception();和throw e;异常抛出

java代码如下: package com.imooc.exception; public class Throw1 {     public static void main(String[] args) {         // TODO Auto-generated method stub         Throw1 test = new Throw1();    

探索者_wmc的博客 8万+

Java学习笔记3.10.3 异常处理 - 抛出异常

1. 理解为什么要抛出异常; 2. 掌握如何利用关键字抛出异常

howard2005的专栏 1142

java异常处理

super("账户余额不足!");}需要编写的程序-一个无参构造函数其余的方法可以使用IDE工具自动生成-一个带有String参数的构造函数,并传递给父类的构造函数。-一个带有String参数和Throwable参数,并都传递给父类构造函数-一个带有Throwable参数的构造函数,并传递给父类的构造函数。2、在方法适当的位置生成自定义异常的实例,并使用throw语句抛出。...

weixin_50518344的博客 480

Java异常详解

Java异常详解1. Java异常概述2. Java异常架构3. Java异常分类4. Java异常处理5. Java异常常见问题 1. Java异常概述 Java异常Java提供的一种识别及响应错误的一致性机制。 Java异常是在程序运行过程中打断程序正常运行的错误,正确的处理异常,使异常处理代码和正常业务代码相分离,提高代码的健壮性。 2. Java异常架构 1. Throwable Throwable 是 Java 语言中所有错误与异常的超类。 Throwable 包含两个子类:Error(错误)和

靖节先生的博客 2325

Java中的异常(Exception)

Java中的异常Exception,分为编译时异常和运行时异常

AAAAA_9的博客 2441

Javathrows Exception

转:https://www.cnblogs.com/feichengwulai/articles/3793261.html 1、(终极解释!!!)throwsException放在方法后边,是throwsException表示的是本方法不处理异常,交给被调用处处理(如果你不希望异常层层往上抛,你就要用throws Exception),而且被调用处必须处理。 2、throw new Exce...

hanxiaoyong_的博客 7万+

Java异常处理异常抛出

生活中的异常是指那些有异于常态,和正常情况不一样,有问题的状态,编程世界中的异常是指阻止当前方法或作用域继续执行的状态。比如,程序要打开一个不存的文件、网络连接中断、除零操作、操作数越界、装载一个不存在的类等情况。这些情况会使程序中断执行。这时异常处理机制就很重要了,它会以适当的方法让程序继续执行或者退出,并且能够保存用户的当前操作或者进行数据回滚,最后再把占用的资源释放掉。 一.Java异常体系...

芒果就是没有盲的博客 9386

JAVA 异常处理——声明、抛出异常

JAVA 异常处理

m0_59586434的博客 3559

Java异常处理抛出异常

程序中出现异常是难免的,所以很多的语言都设置了处理异常的方法,java也不例外。 对于异常的处理就是: try语句出现异常抛出异常 catch接受异常进行处理 处理异常可以根据需要,但是抛出异常有许多需要注意的地方。 1、main函数中的异常+处理 package excep; import java.util.ArrayList; public class example { pub...

Sea_Sand息禅 914

java 手动抛异常_Java 异常处理 之 手动抛出异常

一、手动抛出异常 throw在编写程序时,我们必须要考虑程序出现问题的情况。比如,在定义方法时,方法需要接受参数。那么,当调用方法使用接受到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法,就应该告诉调用者,传递合法的数据进来。这时需要使用抛出异常的方式来告诉调用者 。Java 异常类对象除在程序执行过程中出现异常时由系统自动生成并抛出,也可以根据需要使用人工创建并抛出。在java中,提...

weixin_39719989的博客 1万+

java 抛出指定异常信息_java 抛出异常处理的方法

java 抛出异常处理的方法为了避免调用的人不知道有异常,才抛出异常的,所以是谁掉用的久在哪里处理。说的对吗对.1、throws关键字通常被应用在声明方法时,用来指定可能抛出异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。如下面例子所示:public class Shoot { 创建类static void pop() throws Negat...

weixin_42346693的博客 2888

java 异常处理之声明抛出异常

java 异常处理声明抛出异常2.声明抛出异常Java中处理异常的第二种方式 2.声明抛出异常Java中处理异常的第二种方式 如果一个方法(中的语句执行时)可能生成某种异常,但是并不能确定如何处理这种异常,则此方法应显示地声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理。 在方法声明中用throws语句可以声明抛出异常的列表,throws后面的异常类型可以是方法中产...

码农回顾 2475

java异常处理机制,向上抛出

方法调用栈的概念异常向上层抛出的过程示例代码说明 以下是结合上述代码详细说明在方法调用栈中各个调用方法的位置所在以及位置变化情况:程序从 方法开始执行,此时方法调用栈中只有一个元素,即 方法处于栈底位置,此时栈的情况如下:当执行到 方法里调用 的语句时, 方法被压入栈中,此时 位于栈顶, 方法在栈底,调用栈结构变为:在 方法内部执行调用 的语句后, 方法被压入栈顶,此时栈内从上到下依次是 、、,结构如下:接着, 方法里调用 , 会被压入栈顶,此时栈内元素顺序变为 在最顶部,然后依次是

weixin_44456323的博客 588

Java异常处理抛出异常

当某个方法抛出异常时,如果当前方法没有捕获异常异常就会被抛到上层调用方法,直到遇到某个通过是在并且,每层调用均给出了源代码的行号,可直接定位。抛出异常当发生错误时,例如,用户输入了非法的字符,我们就可以抛出异常。如何抛出异常?参考方法,抛出异常分两步:创建某个Exception的实例;用throw语句抛出。当process2()抛出后,被process1()捕获,然后抛出。如果在main()中捕获这说明新的异常丢失了原始异常信息,我们已经看不到原始异常的信息了。

ihero的博客 1280

java抛出异常的方法_Java抛出异常处理的示例详解

这篇文章主要介绍了java 抛出异常处理的方法的相关资料,throws关键字通常被应用在声明方法时,用来指定可能抛出异常,这里就讲下如何使用,需要的朋友可以参考下java 抛出异常处理的方法为了避免调用的人不知道有异常,才抛出异常的,所以是谁掉用的久在哪里处理。说的对吗对.1、throws关键字通常被应用在声明方法时,用来指定可能抛出异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如...

weixin_34840783的博客 2503

java中什么时候用异常_Java中的异常处理:何时抛出异常,何时捕获异常

今天在看hadoop源码时,想想自己最近在做的那个系统,发现很多异常处理的方式不对,还是按照传统的异常处理方式(即:采用返回值来标识程序出现的异常情况)。而hadoop中很多方法的声明是有异常抛出的,而我的系统中的很多方法的声明都没有抛出异常。只是判断了异常情况,并输出了错误提示,但是并没有抛出异常。org.apache.hadoop.hdfs.protocol包下的Block类的readFiel...

weixin_30969227的博客 603

手动抛出异常_异常处理JAVA异常处理的介绍

异常处理的介绍在Java程序的运行过程中,如果Java虚拟机检测出一个无法执行的操作,就会产生运行时错误(runtime error)在Java中,运行时错误会作为异常抛出抛出异常是一个对象,该对象表示影响程序正常运行的错误或情况。如果抛出异常没有被处理,那么程序将会非正常终止并退出。因此,异常对应用程序的运行至关重要。Java程序在运行的过程中,可能会出现各种各样的意外情况。为了表示这些...

weixin_33877981的博客 346

java抛出异常顺序_Java-再来学习下异常处理

一、前言只要写过Java代码,基本上都会遇到异常,由于以前学习的不够系统,所以趁现在有时间,再来重新回顾及梳理下Java异常处理。二、异常处理1. 概念当一个用户在使用我们的程序期间,如果由于程序的错误或一些外部环境的影响造成用户数据的丢失,用户可能就不会再使用这个程序了,为了避免这种事情的发生,一般我们的程序应该能做到如下几点:向用户通报错误;保存所有的工作结果;允许用户以妥善的形式退出程序;...

weixin_39554775的博客 778

JavaJava中的异常处理:何时抛出异常,何时捕获异常

参考文章:Java中的异常处理:何时抛出异常,何时捕获异常? 参考文章:Python错误处理-廖雪峰的官方网站 1 异常分类 Throwable对象可以分为两组: 一组是unchecked异常异常处理机制往往不用于这组异常,包括: Error类通常是指Java的内部错误以及如资源耗尽的错误。当Error(及其衍生类)发生时,我们不能在编程层面上解决Error,所以应该直接退出程序。 Ex...

寒泉 3万+

锂离子电池模型_锂电池模型_电池参数辨识_电池参数_电池模型辨识_电池模型参数

可用于锂电池模型建立,利用最小二乘法进行参数辨识与仿真分析

下一篇: java异常之运行时异常和非运行时异常
Code_legend
博客等级 码龄10年 33粉丝 30原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值