广告
返回顶部
首页 > 资讯 > 精选 >如何在java中自动抛出异常
  • 301
分享到

如何在java中自动抛出异常

2023-06-06 12:06:54 301人浏览 薄情痞子
摘要

本文章向大家介绍如何在java中自动抛出异常,主要包括如何在java中自动抛出异常的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java的特点有哪些Java的特点有哪些1.Java语言作为静

本文章向大家介绍如何在java中自动抛出异常,主要包括如何在java中自动抛出异常的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Java的特点有哪些

Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。2.Java具有简单性、面向对象、分布式安全性、平台独立与可移植性、动态性等特点。3.使用Java可以编写桌面应用程序、WEB应用程序、分布式系统和嵌入式系统应用程序等。

java异常处理机制的两类

1、抓:异常的处理,有两种方式

① try-catch-finally

② throws

2、抛:

① 自动抛出

可以理解为所有没有使用throw关键字的异常处理都是自动抛出,由JVM进行判断和抛出。

②手动抛出

throw + 异常类的对象

》异常类可以是现成的,也可以是自己创建的异常类,

抛出异类的类型:若是RuntimException,可以不用显示处理。

若是一个Exception,必须要显示的处理。

public class TestException3 {public static void main(String[] args) {Circle c1 = new Circle(2.1);Circle c2 = new Circle(2.1);System.out.println(c2.compareTo(c2));System.out.println(c1.compareTo(new String("44")));}}class Circle{private double radius;public Circle(double radius) {super();this.radius = radius;}public double getRadius() {return radius;}public void setRadius(double radius) {this.radius = radius;}//比较两个圆的半径谁大public int compareTo(Object obj) {if(this == obj) {return 0;}else if(obj instanceof Circle) {Circle c = (Circle)obj;if(this.radius > c.radius) {return 1;}else if(this.radius == c.radius){return 0;}else {return -1;}}else {//因为在这里返回声明都不适合,手动的抛出一个异常//运行时异常可以不用显示处理,在运行的时候,抛出。throw new RuntimeException("传入的类型有误");//throw new Exception("传入的类型有误");//非RuntimeException必须在出现的时候显示处理}}}

补充:java中异常抛出后代码还会继续执行吗?

今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢?

  @Override  public void reGISterObserver(Observer o) {    if (o == null){      throw new NullPointerException("o is a null object");      return; //需要么?    }    this.mList.add(o);  }

为了搞清楚这个问题,我编写了几段代码测试了一下,结果如下:

//代码1public static void test() throws Exception {  throw new Exception("参数越界");   System.out.println("异常后"); //编译错误,「无法访问的语句」}
//代码2try{  throw new Exception("参数越界"); }catch(Exception e) {  e.printStackTrace();}System.out.println("异常后");//可以执行
//代码3if(true) {  throw new Exception("参数越界"); }System.out.println("异常后"); //抛出异常,不会执行

总结:

若一段代码前有异常抛出,并且这个异常没有被捕获,这段代码将产生编译时错误「无法访问的语句」。如代码1;

若一段代码前有异常抛出,并且这个异常被try…catch所捕获,若此时catch语句中没有抛出新的异常,则这段代码能够被执行,否则,同第1条。如代码2;

若在一个条件语句中抛出异常,则程序能被编译,但后面的语句不会被执行。如代码3

另外总结一下运行时异常与非运行时异常的区别:

运行时异常是RuntimeException类及其子类的异常,是非受检异常,如NullPointerException、IndexOutOfBoundsException等。由于这类异常要么是系统异常,无法处理,如网络问题;要么是程序逻辑错误,如空指针异常;JVM必须停止运行以改正这种错误,所以运行时异常可以不进行处理(捕获或向上抛出,当然也可以处理),而由JVM自行处理。Java Runtime会自动catch到程序throw的RuntimeException,然后停止线程,打印异常。

非运行时异常是RuntimeException以外的异常,类型上都属于Exception类及其子类,是受检异常。非运行时异常必须进行处理(捕获或向上抛出),如果不处理,程序将出现编译错误。一般情况下,api中写了throws的Exception都不是RuntimeException。

常见运行时异常:

如何在java中自动抛出异常

常见非运行时异常:

如何在java中自动抛出异常

到此这篇关于如何在java中自动抛出异常的文章就介绍到这了,更多相关的内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 如何在java中自动抛出异常

本文链接: https://www.lsjlt.com/news/247032.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在java中自动抛出异常
    本文章向大家介绍如何在java中自动抛出异常,主要包括如何在java中自动抛出异常的使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java的特点有哪些Java的特点有哪些1.Java语言作为静...
    99+
    2023-06-06
  • Java在方法中如何抛出异常
    这篇文章主要介绍了Java在方法中如何抛出异常的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java在方法中如何抛出异常文章都会有所收获,下面我们一起来看看吧。异常机制概述异常机制是指当程序出现错误后,程序如何...
    99+
    2023-06-17
  • java怎么抛出自定义异常
    在Java中,可以通过自定义一个类,并继承Exception或RuntimeException类来创建自定义异常。 下面是一个示例代...
    99+
    2023-10-21
    java
  • python自定义异常和主动抛出异常(r
    有时候python自带异常不够用,如同java,python也可以自定义异常,并且可以手动抛出。注意,自定义异常只能由自己抛出。python解释器是不知道用户自定义异常是什么鬼的。 主动抛出异常。 格式: 主动抛出异常终止...
    99+
    2023-01-31
    异常 自定义 抛出
  • 如何在java项目中抛出一个异常处理
    本篇文章为大家展示了如何在java项目中抛出一个异常处理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。java 抛出异常处理的方法为了避免调用的人不知道有异常,才抛出异常的,所以是谁掉用的久在哪里处...
    99+
    2023-05-31
    java ava 目中
  • 简述Java中throw-throws异常抛出
    目录一、throws抛出异常 Throws抛出异常的规则:二、使用throw抛出异常 三、比较 3.1 在声明方法时候抛出异常  3.2 在方法中抛出异常  &n...
    99+
    2022-11-12
  • 怎么在python中抛出raise异常
    今天就跟大家聊聊有关怎么在python中抛出raise异常,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、注意点系统的自带的异常只要触发会自动抛出,比如NameError,但用户自...
    99+
    2023-06-15
  • java如何抛出适合抽象的异常
    这篇文章主要介绍java如何抛出适合抽象的异常,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!抛出适合抽象的异常抛出的异常应该与调用者执行的任务有联系。此项介绍异常转换(捕获异常并抛出另一个)和异常链(将异常包装在新的...
    99+
    2023-06-27
  • java手动抛出异常的方法是什么
    在Java中,可以使用`throw`关键字手动抛出异常。具体的用法是在代码中使用`throw`关键字,后跟一个`Exception`...
    99+
    2023-09-27
    java
  • Java中使用throw-throws抛出异常如何解决
    这篇文章将为大家详细讲解有关Java中使用throw-throws抛出异常如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、throws抛出异常   &...
    99+
    2023-06-20
  • 在springboot中springmvc出现抛出全局异常如何解决
    在springboot中springmvc出现抛出全局异常如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。springboot中抛出异常,springbo...
    99+
    2023-05-31
    springboot springmvc 全局异常
  • java中的不抛出的异常是什么
    RuntimeException与其子类和错误(Error)不是必须要捕获或抛出。Java异常Throwable分为两类:Error和Exception,Error类是错误,程序本身不能处理的。Exception有分为两类:IOExcept...
    99+
    2014-12-27
    java入门 java 不抛出 异常
  • Java中抛出异常和捕获异常有什么区别
    这篇文章主要介绍Java中抛出异常和捕获异常有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!抛出异常:创建异常对象,封装异常信息然后通过throw将异常对象传递给调用者。不对异常进行处理只对异常进行抛出是非常...
    99+
    2023-06-15
  • 怎么在python中利用raise语句抛出异常
    怎么在python中利用raise语句抛出异常?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相...
    99+
    2023-06-14
  • java如何记录每个方法抛出的所有异常
    这篇文章主要为大家展示了“java如何记录每个方法抛出的所有异常”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java如何记录每个方法抛出的所有异常”这篇文章吧。记录每个方法抛出的所有异常这是严...
    99+
    2023-06-02
  • Java语法中Lambda表达式无法抛出异常的解决
    目录Lambda表达式无法抛出异常1.Demo 例子2.编译通过lambda表达式异常应该如何处理我们看一个例子Lambda表达式无法抛出异常 1.Demo 例子 错误提示 - Un...
    99+
    2022-11-12
  • PHP8中如何使用Throw Expression更轻松地抛出异常?
    PHP8中如何使用Throw Expression更轻松地抛出异常?引言:异常处理是现代编程语言中不可或缺的一部分,它可以帮助我们更好地处理错误情况。PHP8引入了Throw Expression的特性,使得在代码中抛出异常变得更加简洁和灵...
    99+
    2023-10-22
    PHP exception Throw Expression
  • PHP8中如何使用Throw Expression更方便地抛出异常?
    PHP8中如何使用Throw Expression更方便地抛出异常?引言:异常处理是编程中重要的一部分,可以帮助我们处理代码中的错误或异常情况。在PHP8中,引入了Throw Expression的新功能,可以更方便地抛出异常。本文将介绍如...
    99+
    2023-10-22
    PHP 异常抛出 Throw Expression
  • 如何进行C++抛出异常技巧的分析
    这期内容当中小编将会给大家带来有关如何进行C++抛出异常技巧的分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C++语言与其他编程语言一样,其中也包含有关于异常的处理。我们在这里将会为大家详细讲解一下有...
    99+
    2023-06-17
  • Java项目中出现自动拆箱空指针异常如何解决
    本篇文章给大家分享的是有关Java项目中出现自动拆箱空指针异常如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java的特点有哪些Java的特点有哪些1.Java语言作为...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作