广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java中的异常概述
  • 358
分享到

java中的异常概述

java教程java异常 2017-12-20 16:12:21 358人浏览 绘本
摘要

一、什么是异常异常就是程序运行过程中所出现的不正常现象。try:把可能发生异常的代码包起来,当发生异常时,将异常抛出catch:捕获异常并处理finally:不管是否发生异常,都会执行throw:手动引发一个异常throws:定义任何被调用

一、什么是异常

异常就是程序运行过程中所出现的不正常现象。

try:把可能发生异常的代码包起来,当发生异常时,将异常抛出

catch:捕获异常并处理

finally:不管是否发生异常,都会执行

throw:手动引发一个异常

throws:定义任何被调用方法的异常

在线学习视频推荐:java在线视频

二、异常出现的原因

用户输入错误;

代码的错误;

环境的因素;

异常机制保证了程序的健壮性!

三、异常的分类

NullPointerException空引用异常

IndexOutOfBoundException下标越界异常

Error与编``译环境有关,它是Java运行时的内部错误以及资源耗尽错误。很难修复,不期望用户能修复。

四、获取异常信息

程序发生异常的时候,程序就直接从try执行到catch语句块,不再继续执行`在这里。

public class text3 {
    public static void main(String[] args) {
		System.out.println("main开始执行");
		text3 a=new text3();
		a.text();
		System.out.println("main执行结束");
	}
    public void text() {
    	int a;
    	try {
    		 a=2/0;
    		System.out.println(a);
    	}catch(ArithmeticException e){
    		System.out.println("程序发生了异常");
    	}
    }
}

异常捕获之后程序才不会断

public class text3 {
    public static void main(String[] args) {
		System.out.println("main开始执行");
		text3 a=new text3();
		a.text();
		System.out.println("main执行结束");
	}
    public void text() {
    	int a;
    	//try {
    		 a=2/0;
    		System.out.println(a);
    	//}catch(ArithmeticException e){
    		//System.out.println("程序发生了异常");
    	//}
    }
}

控制台结果:

98a223f8d2488e6a69b670527e62b8b.png

异常自己不处理但是得声明一下。

异常声明:指一个方法不处理它所产生的异常,而是调用层次向上传递,谁调用的这个方法谁来处理。

五、手动抛出异常

throw exception; 参数exception表示要抛出的异常对象,该对象是throwable类的子类,而且只能够是一个。

public void text1() throws ArithmeticException{
		
	}
	
	public static void main(String[] args) {
		Text t=new Text();
		try {
			t.text();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println(e.getMessage());
		}
	}
	public void text() throws Exception {
		//手动抛出异常
		throw new Exception("这是手动抛出来的");
	}
}

六、try catch finally的嵌套使用

public class Textthrow {
     
public static void main(String[] args) {
	double a=Math.random();
    try {
   	 if(a>0.5) {
   		 System.out.println(a+"程序不报错");
   	 }
   	 else {
   		 throw new Exception();
   	 }
    }catch(Exception e) {
   	 System.out.println("这是外层捕获的对象"+e);
   	 try {
   		 a=1/0;
   	 }catch(ArithmeticException e1) {
   		 System.out.println("这是内层捕获的对象"+e1);
   		 
   	 }finally {
   		 System.out.println("这是内层的finally块");
   	 }
    }finally {
   	 System.out.println("这是外层的finally块 ");
    }
}
}

七、异常链

定义:两个或者多个不同的异常出现在同一个程序中,并且会发生嵌套抛出,我们称之为异常链。

public class ExceptionChainText {
      public static void main(String[] args) {
		Calculator c=new Calculator();
		try {
			c.chufa(1, 0);
		}catch(NumberCalculateExcetption e) {
			e.printStackTrace();
			System.out.println("错误原因"+e);
		}
	}
}
class Calculator{
	public int chufa(int i,int j) throws NumberCalculateExcetption {
		if(j==0) {
			NumberCalculateExcetption e = new
					NumberCalculateExcetption ("计算错误");
			NegativeNumberException e1=	new
					NegativeNumberException("除数不能为0");
		 e.initCause(e1);//由e1引起的异常
		 throw e;
		}
		return 0;
	}
}
class NegativeNumberException extends Exception{
	public NegativeNumberException(String msg) {
		super(msg);
	}
}
class NumberCalculateExcetption extends Exception{
	public NumberCalculateExcetption(String msg) {
		super(msg);
	}
}

相关文章教程推荐:java入门程序

--结束END--

本文标题: java中的异常概述

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

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

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

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

下载Word文档
猜你喜欢
  • java中的异常概述
    一、什么是异常异常就是程序运行过程中所出现的不正常现象。try:把可能发生异常的代码包起来,当发生异常时,将异常抛出catch:捕获异常并处理finally:不管是否发生异常,都会执行throw:手动引发一个异常throws:定义任何被调用...
    99+
    2017-12-20
    java教程 java 异常
  • Java中IO流概述
    目录1.InputStream 和 OutputStream 继承结构图:2.Reader 和 Writer 继承结构图:3. 内容4.面试题1.字节流和字符流的区别?2.什么是 I...
    99+
    2022-11-13
  • 简述Java中throw-throws异常抛出
    目录一、throws抛出异常 Throws抛出异常的规则:二、使用throw抛出异常 三、比较 3.1 在声明方法时候抛出异常  3.2 在方法中抛出异常  &n...
    99+
    2022-11-12
  • C++中异常安全性问题和解决方法概述
    C++中异常安全性问题和解决方法概述引言:异常安全性是指在程序出现异常的情况下,能够保证已分配的资源被正确释放,避免内存泄漏和对象状态不一致的问题。在C++编程中,异常安全性是一项非常重要的概念,能够提高程序的可靠性和稳定性。本文将概述C+...
    99+
    2023-10-22
    C++ 问题解决 异常安全性
  • 【Java入门】Java的语言概述
    前言 📕作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Java入门篇系列,该专栏主要...
    99+
    2023-09-04
    java jvm 搜索引擎 开发语言 经验分享
  • Java中简单实用Quartz概述
    目录1.Quartz是什么2. Quartz谁维护?3. 简单的应用3.1 需求描述3.1.1. Spring中自带的3.1.2. Quartz的简单使用4. Quartz相较Spr...
    99+
    2023-02-15
    java  quartz java  quartz使用
  • Java Map接口概述和常用方法详解
    目录概述Map常用子类Map接口中的常用方法Map集合遍历键找值方式Entry键值对对象Map集合遍历键值对方式概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证...
    99+
    2022-11-13
    Java Map接口常用方法 Java Map接口 Java Map
  • Java File类的概述及常用方法使用详解
    目录一、File类的概述和构造方法二、File类创建功能三、File类创建和获取功能四、File类的删除功能一、File类的概述和构造方法 public class File ext...
    99+
    2022-11-13
  • HTML5的canvas标签常用属性概述
    Canvas标签是HTML5中的一个重要元素,它提供了一种通过JavaScript来绘制图形的手段。在这篇文章中,我们将为大家介绍Canvas标签常用的属性,并通过具体的代码示例来展示它们的用法。一、常用属性一览width:设置Canvas...
    99+
    2023-12-28
    Height (高度) Width (宽度) context (上下文)
  • PHP8.0中的EventLoop库概述
    随着PHP语言的发展,开发人员需要更多的工具来解决现代应用程序的需求和挑战,其中之一就是事件驱动编程,而PHP8.0的EventLoop库正是为这个目的而生的。本文将对该库进行概述和介绍。什么是EventLoop在传统的PHP应用程序中,大...
    99+
    2023-05-14
    PHP EventLoop库 概述
  • Java Swing图形化编程的概述
    学习Java Swing图形化编程,我们首先要了解三个最基本的概念:顶层容器,控件,布局。 下面就来介绍一下这三个基本概念 1.顶层容器 什么是顶层容器?当我们使用Java进行图形编程的时候,图在哪里绘制呢?我们需要一个能够提供图形绘制的容...
    99+
    2023-06-03
  • Java包装类的概述与应用
    目录一、包装类概述二、包装类的自动装箱、自动拆箱机制 三、包装类中的缓存机制四、包装类的四则运算、位运算、比较运算、逻辑运算1、四则运算和位运算2、比较运算和逻辑运算五、包...
    99+
    2022-11-13
  • AJPFX关于Java NIO的概述总结
    Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pi...
    99+
    2023-06-02
  • Java基础学习之ArrayList类概述与常用方法
    目录一、ArrayList类概述二、ArrayList类常用方法三、ArrayList存储字符串并遍历四、ArrayList存储学生对象并遍历五、ArrayList存储学生对象并遍历...
    99+
    2022-11-13
  • Python中的字符串常用方法整理概述
    目录1. Python 字符串拼接:使用“+”或者“+=”进行字符串的拼接。2 字符串格式化2.1 使用format()函数进行字符串...
    99+
    2023-05-18
    python字符串常用方法 python字符串 python字符串方法
  • 如何概述Python中常用的IDE开发工具
    这篇文章给大家介绍如何概述Python中常用的IDE开发工具,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了。IDE的全称是In...
    99+
    2023-06-17
  • WPF中的导航框架概述
    有的时候,我们需要一个支持页面跳转的UI,例如文件浏览器,开始向导等。对于这样的界面,简单的可以使用ContentControl + ContentTemplateSelector的...
    99+
    2022-11-13
  • 简单阐述一下Java集合的概要
    概念 Java中的集合就是一种容器,可以容纳不同种类的数据,这些容纳是建立在未知的基础上。 优点 1.可以动态保存任意多个对象,使用比较方便。 2.提供一系列方便的操作对象的方法:a...
    99+
    2022-11-12
  • HTML5中Web Worker异步执行及相关概述是怎样的
    今天就跟大家聊聊有关HTML5中Web Worker异步执行及相关概述是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 ...
    99+
    2022-10-19
  • JAVA中的异常
    目录 Throwable Error Exception 编译时异常 运行时异常 异常的处理 try-catch捕获并处理 finally throw throws 自定义异常类 在Java中,将程序执行过程中发生的不正常行为称为异常。...
    99+
    2023-09-14
    java 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作