java 异常二

在本程序中,对于除数是-1,也视为是错误的,是无法进行运算的。

那么就需要对这个问题进行自定义的描述。

当在函数内部出现了throw抛出异常对象,那么,就需要给对应的处理动作。

要么在内部try catch处理;要么在函数上声明让调用者处理。

一般情况下,函数内出现异常,函数上需要声明。

如何快速定义异常信息呢?

因为父类中已经把异常信息的操作都完成了。

所以子类只要在构造时,通过super语句将异常信息传递给父类。

那么就可以直接通过getMessage方法获取自定义异常信息了。

自定义异常:

必须是自定义类继承Exception。

继承Exception原因:

异常体系有一个特点:因为异常类和异常对象都被抛出。

他们都具备可抛性,这个可抛性是Throwable这个体系中独有特点。

只有这个体系中的类和对象才可以被throws和throw操作。

throw和throws的区别:

(1)throws使用在函数上。

throw使用在函数内部。

(2)throws后面跟的是异常类,可以跟多个异常类,异常类之间用逗号隔开。

throw后面的跟的是异常对象。

class FuShuException extends Exception
{
	/*private String msg;
	FuShuException(String msg)
	{
		this.msg=msg;
	}
	public String getMessage()
	{
		return msg;
	}*/
	int num;
	FuShuException()
	{
		super();//空参数的构造函数。
	}
	FuShuException(String name,int num)
	{
		super(name);//通过super语句将异常信息传递给父类
		this.num=num;
	}
	public void show()
	{
		System.out.println("除数的值:"+num);
	}

}

class Demo
{
	public int function(int a,int b) throws FuShuException   //这个函数有可能会出现异常,某个函数在调用该函数时需要抛出异常(throws)或对异常进行处理(try...catch)。
	{
		int[] arr=new int[a];
		if (b<0)
		{
           throw new FuShuException("除数出现了小于零的情况",b);//如果满足条件则抛出异常信息。
		}
		return a/b;
	}
}

class ExceptionClassDemo1
{
	public static void main(String args[])   //throws FuShuException   ——这是抛出异常,即编译时不会报错,在运行时虚拟机会提示异常信息。
	{
		Demo de=new Demo();
		//下面的代码对异常进行处理。
		try
		{
			int result=de.function(5,-1);
			System.out.println(result);
		}
		catch (FuShuException e)
		{
			System.out.println(e.getMessage());
			e.show();
		}
		/*
		int result=de.function(5,-1);
		System.out.println(result);
		*/
	}
}

时间: 2024-10-10 16:33:27

java 异常二的相关文章

java 异常二、

* 编译时异常的抛出必须对其进行处理 * 运行时异常的抛出可以处理也可以不处理 throws和throw的区别 * a:throws * 用在方法声明后面,跟的是异常类名 * 可以跟多个异常类名,用逗号隔开 * 表示抛出异常,由该方法的调用者来处理 public void setAge(int age) throws RuntimeException,AgeboundException{ .............} * b:throw * 用在方法体内,跟的是异常对象名 * 只能抛出一个异常对

java 异常总结

一:异常结构图及基本概念 Throwable类:所有异常与错误的超类. Error类:程序无法处理的错误,表示运行应用程序中较严重问题,不需要捕获 Exception类:程序本身可以处理的异常,可以捕获 RuntimeException及其子类:可以捕获此异常,也可以不捕获.建议不捕获. 非运行时异常:必须捕获的异常. 二 try...catch...finally 1 try{ 2 //监控有可能出现异常的代码 3 }catch(Exception e){ 4 //捕获异常后执行的代码 5 }

[Java面试二]Java基础知识精华部分.

一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名为Java: Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发: JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础: JAVA

Java异常(1)

一.要达到的效果 如果出现错误而是某些操作没有完成,程序应该: (1)返回到一种安全状态,并能够让用户执行一些其他的命令. (2)允许用户保存所有操作的结果,并以适当的方式终止程序. 异常处理的任务就是将控制权从错误产生的地方转移到能够处理这种情况的错误处理器   二.异常分类: 1.Throwable - ---------Error -     - -     ------- XXXX -      - -      ----- XXXXX ---Exception -      - -  

浅谈java异常[Exception]

本文转自:focusJ 一. 异常的定义 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常.绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败.之所以java要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意. 记得当初学习java的时候,异常总是搞不太清楚,不知道这个异常是什么意思,为什么会有这个机制?但是随着知识的积累逐渐也

Java - 异常解析基础

java提高篇(十六)-----异常(一) 一.为什么要使用异常 首先我们可以明确一点就是异常的处理机制可以确保我们程序的健壮性,提高系统可用率.虽然我们不是特别喜欢看到它,但是我们不能不承认它的地位,作用.有异常就说明程序存在问题,有助于我们及时改正.在我们的程序设计当做,任何时候任何地方因为任何原因都有可能会出现异常,在没有异常机制的时候我们是这样处理的:通过函数的返回值来判断是否发生了异常(这个返回值通常是已经约定好了的),调用该函数的程序负责检查并且分析返回值.虽然可以解决异常问题,但是

JAVA基础教程之JAVA异常机制

今天我们主要来说一说JAVA异常机制方面的内容.自设JAVA学习群457036818,大家可以交流一下 一. 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误.本文主要传授的是一些滚与Java语言的异常处理.Java语言的异常处理框架,是Java语言健壮性的一个重要体现. Java把异常当作对象来处理,而且定义一个基类java.lang.Throwable作为所有异常的超类.在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常Exception.J

java异常 之 异常的层次结构

一:起因 (1)最近在用java处理分析各种数据,碰到了一些异常,如parse()异常 ParseException,valueOf()NumberFormatException  IllegalArgumentException异常,NullPointerExcetion  IndexOutOfBoundsExceptionFileNotFoundException等 (2)异常不能任意捕获的,不能任意的写catch(***Exceptionex){} ;只有,有可能抛出相应的异常,才写cat

Java异常封装(自定义错误码和描写叙述,附源代码)

真正工作了才发现.Java里面的异常在真正工作中使用还是十分普遍的. 什么时候该抛出什么异常,这个是必须知道的. 当然真正工作里面主动抛出的异常都是经过分装过的,自己能够定义错误码和异常描写叙述. 以下小宝鸽就为大家介绍一个Java异常简单封装的样例. 在给出异常分装样例之前.须要给大家普及Java里面的checked异常和unchecked异常的个概念. 一.checked异常和unchecked异常 这里之所以让大家清楚checked异常和unchecked异常概念,是由于:待会我们的异常是