java异常处理之抛出异常

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

抛出处理

定义一个功能,进行除法运算例如(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. 如果一个方法调用了另外一个声明抛出异常的方法,那么这个方法要么处理异常,要么声明抛出。
Java学习笔记3.10.3 异常处理 - 抛出异常 1. 理解为什么要抛出异常; 2. 掌握如何利用关键字抛出异常 阅读详情

相关推荐

信息化建设项目前期方案编制4:如何画好四张图

这里探讨以下具体的总体设计操作层面的工作。总体设计主要是完成四张图,总体架构(逻辑架构)、应用架构、网络拓扑、系统部署图。对于一些单一的系统,往往总体架构和应用架构可以合一。网络拓扑画好了,系统部署图也可以省略。有些项目还会在这之外,有所谓的技术架构图。对应用系统、数据存储等各个部分各自用的主要技术、服务等,给出总体设计图。但通常来说,这四张图在一个中等规模(200~500万,软件...

Leonardo的博客 4637

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万+

《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》论文阅读笔记

文章名:《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》 作者Jiyao Wei a,1, Jian Liaoa,1, Zhenfei Yanga, Suge Wanga,b,∗, Qiang Zhaoa 年份 2019 1 Introduction 目前文本情感分析多分析带...

weixin_39036944的博客 1631

java异常处理

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

weixin_50518344的博客 483

[Windows] 发票识别工具。支持xml、pdf、ofd文件。

发票识别是财务自动化中的关键环节,支持多种格式(XML、PDF、OFD)的识别工具能显著提升工作效率。以下介绍基于Windows平台开发此类工具的技术方案。发票识别是财务自动化中的关键环节,支持多种格式(XML、PDF、OFD)的识别工具能显著提升工作效率。以下介绍基于Windows平台开发此类工具的技术方案。

pZC_dqux的博客 668

QMT与聚宽策略代码对接实战:Redis信号传递与xtquant交易实现

本文详细介绍了如何将聚宽策略代码与本地QMT终端进行高效对接的实战方案。通过利用Redis Stream构建可靠信号通道,解决了云端信号到本地执行的延迟与丢失问题,并结合xtquant库实现自动化交易执行。文章重点阐述了信号封装、资金映射、异步下单、风控检查及独立资金管理等核心环节,为量化交易者搭建自主可控的实盘系统提供了完整路径。

lilh34434的博客 475

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(错误)和

靖节先生的博客 2330

TSMaster二次开发实战:如何用Python搞定CAN/CANFD事件回调(附完整代码)

本文详细介绍了如何利用Python进行TSMaster二次开发,实现CAN/CANFD事件回调功能。通过实战代码演示,讲解了预发送与后处理回调的核心区别、注册流程、资源管理及性能优化技巧,帮助工程师高效构建自动化测试与数据监控应用。

star的博客 669

Java中的异常(Exception)

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

AAAAA_9的博客 2445

微信小程序 - 详细解决map地图上使用自定义图标图片或自定义样式进行markers标记点,手机真机运行时安卓系统、苹果ios系统会出现不显示标记点的问题(大概率安卓正常显示标记点,但苹果就加载失败)

微信小程序,map,地图组件,安卓android,苹果ios,真机调试,marker,标记点,在地图上标记,突然就不显示白屏了没动代码,自定义标记点icon,label动态数字,小程序地图markers标记点显示不出来,微信小程序map组件,地图加载后marker标记点ios设备不显示,android正常显示,添加多个标记点。安卓能正常显示标记点图标,IOS设备不显示标记点图标,map地图白屏不显示标记,图标真机调试不显示,自定义图标,报错,页面白屏,不报错也不显示,无法加载,图片展示不出来,iconPat

✅ 精选推荐文章 5956

【Bug已解决】[Bug]: ValueError: No user query found in messages QWEN 3.5 27B VLLM 0.16.0 NIGHTLY 解决方案

用 vLLM 0.16.0 nightly 给发聊天请求时,服务端在处理消息时抛ValueError,请求失败。

博客 415

Java的throws Exception

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

hanxiaoyong_的博客 7万+

非洲秃鹫优化算法(AVOA)详解:从原理到实战

非洲秃鹫优化算法(AVOA)是一种模拟秃鹫觅食行为的元启发式算法。该算法通过数学建模秃鹫的群体分工、饥饿感知和食物竞争等行为,将优化问题转化为智能觅食过程。AVOA包含四个关键阶段:(1)种群初始化与最佳秃鹫选择;(2)饥饿率控制探索与开发平衡;(3)探索阶段模拟远距离飞行搜索;(4)开发阶段模拟食物源附近的竞争行为。算法采用饥饿率函数实现自适应搜索,初期偏向全局探索,后期转向局部开发。实验表明AVOA在标准测试函数和工程设计问题上表现出优越性能,其创新性在于将秃鹫独特的生物学特性转化为高效的优化机制。

qq_42212808的博客 229

Java异常处理和异常抛出

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

芒果就是没有盲的博客 9394

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

JAVA 异常处理

m0_59586434的博客 3563

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java异常处理和抛出异常

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

Sea_Sand息禅 916

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

weixin_39719989的博客 1万+

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

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

weixin_42346693的博客 2892

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

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

weixin_44456323的博客 595

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

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

码农回顾 2481

【Java】异常处理 之 抛出异常

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

ihero的博客 1284

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

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

weixin_39554775的博客 779

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

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

weixin_34840783的博客 2506

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

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

weixin_33877981的博客 346

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

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

weixin_30969227的博客 604

【Java】Java中的异常处理:何时抛出异常,何时捕获异常?

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

寒泉 3万+
下一篇: java异常之运行时异常和非运行时异常
Code_legend
博客等级 码龄10年 33粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值