自定义exceptionjava的简单介绍

本篇文章给大家谈谈自定义exceptionjava,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

1、java的自定义的exception怎么处理2、Java自定义异常,应该继承Exception还是Runtime Exception,为什么3、JAVA自定义异常时的问题 无法将类Exception中的构造器Exception应用到给定的类型4、java中自定义异常为何要继承exception类5、java自定义异常类

java的自定义的exception怎么处理

1)先定义一个类继承Exception(或者别的RuntimeException等);

2)然后写个方法可能抛出这个异常,并且什么情况下会抛出异常;

3)调用这个方法,写try,catch语句,捕获这个异常;

小例子,你参考看下:

class UserNotFoundException extends RuntimeException {

public UserNotFoundException() {}

public UserNotFoundException(String message) {

super(message);

}

public void f() throws UserNotFoundException {

throw new UserNotFoundException(“用户名不对”);

}

}

public class Exception {

public static void main(String args[]) {

try {

new UserNotFoundException().f();

} catch (UserNotFoundException e) {

System.out.println(e.getMessage());

}

}

}

Java自定义异常,应该继承Exception还是Runtime Exception,为什么

/*

RuntimeException属于Exception的子类

Exception是在编译时候如果有异常就可以检查出来,比较严谨!

RuntimeException比较特殊,他及其子类对象,属于运行时候检查的异常,如果语法没有错误

他不会在编译时候报异常的,只有运行的时候才会抛出异常!

至于继承谁,得看你的类具体的功能,其实这两点已经说的很明确了,如果你继承了Exception

要么抛出去给上级调用者,要么调用异常代码的时候进行捕捉,有相对应的处理方式!

如果继承的是RuntimeException,可以不用抛,也可以不用捕捉但是问题是在运行的过程中才会

展现出来!一但出错,后面程序将无法继续运行!

*/

自定义exceptionjava的简单介绍

JAVA自定义异常时的问题 无法将类Exception中的构造器Exception应用到给定的类型

问题可能出在if代码体

其中:

int div(int a,int b)throws FuShuException

{

if(b0)

throw new FuShuException(“出现了除数是负数的情况”);

return a/b;

}

中的if方法代码修改为:

int div(int a,int b)throws FuShuException

{

if(b0) {

throw new FuShuException(“出现了除数是负数的情况”);

} else {

return a/b;

}

这样修改以后试试。

java中自定义异常为何要继承exception类

java.lang.Exception类是Java中所有异常的直接或间接父类。即Exception类是所有异常的根类。

1、异常的分类:

① 非运行时异常(Checked Exception)

② 运行时异常(Runtime Exception/Unchecked Exception)

public class Exception

extends Throwable

Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。

public class RuntimeException

extends Exception

RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。

可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。

a) RuntimeException类直接继承自Exception类,称为运行时异常。Java中所有的运行时异常都直接或间接的继承自RuntimeException.

Java中所有的异常类都直接或间接的继承自Exception。

2、异常的处理:

对应非运行时异常,必须对其进行处理。处理方式有两种:

使用try…catch…finally语句块进行捕获

在产生异常的方法所在的方法声明throws Exception

对于运行时异常,可以不对其进行处理,也可以对其进行处理。一般情况下都不对其进行处理。

3、捕获异常:

try {

FileInputStream fs = new FileInputStream(“D:/temp/a.txt”);

} catch (FileNotFoundException e) {

System.out.println(“catch…”);

e.printStackTrace();

} finally{

System.out.println(“finally…”);

}

4、抛出和捕获异常:

4.1、把异常交给JVM处理:

public class ExceptionTest {

public static void execute() throws Exception {

System.out.println(“execute…”);

throw new Exception();

}

public static void main(String[] args) throws Exception {

execute();

}

}

4.2、或者使用try catch语句块捕获异常:

public class ExceptionTest {

public static void execute() throws Exception {

System.out.println(“execute…”);

throw new Exception();

}

public static void main(String[] args) {

try {

execute();

} catch (Exception e1) {

e1.printStackTrace();

}

}

}

5、自定义异常:

自定义异常通常是定义一个继承自Exception类的子类。一般情况下我们都会直接继承自Exception类,而不会继承某个运行时的异常类。

5.1、创建自定义异常:

public class MyException extends Exception{

public MyException(){

super();

}

public MyException(String msg){

super(msg);

}

}

5.2、在类中使用异常:

public class ExceptionTest {

public static void execute(String a) throws MyException {

System.out.println(“execute…”);

if(“true”.equals(a)){

throw new MyException(“参数不能为 true”);

}

}

}

5.3、捕获自定义异常:

public static void main(String[] args) throws MyException {

execute(“true”);

}

6、异常使用注意事项:

当使用多个catch语句块来捕获异常时,需要将父类的catch语句块放到子类型的catch块之后,这样才能保证后续的catch可能被执行,否则子类型的catch将永远无法到达,Java编译器会报编译错误。

如果try语句块中存在return语句,那么首先会执行finally语句块中的代码,然后才返回。

如果try语句块中存在System.exit(0)语句,那么久不会执行finally语句块的代码了,因为System.exit(0)会终止当前运行的JVM。程序在JVM终止前结束执行。

java自定义异常类

public void MyException extends Exception{

public MyExceprion(){

System.out.println(“自定义异常”);

}

}

public class Exam{

public static void mul() throws MyException{

if(自己写条件){

throw new MyException();

}

}

}

这个应该能看懂吧,我只是写了个结构没写完整程序的,你看懂这个就行,定义一个自定义异常,然后在你需要的地方抛出异常,在主方法中调用方法的时候达到一定条件就会抛出异常

关于自定义exceptionjava和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月2日 10:59:55
下一篇 2024年4月2日 11:05:03

相关推荐

  • c语言自定义函数数组求和,c语言自定义函数调用数组

    C语言数组怎样求和, 可以通过循环遍历数组中的每个元素,并进行累加。累加的结果可以保存在变量中,需要注意,要保证变量足够保存累加结果,不会出现溢出。 先获取数组长度,然后用for循环,从数组中获取值进行累加求和。 c语言中,定义数组后可以用sizeof命令获得数组的长度(即可容纳元素个数)。但是通过传递数组名参数到子函数中,以获得数组长度是不可行的,因为在子…

    2024年5月23日
    4400
  • c语言mallloc使用的简单介绍

    C语言中使用malloc必须加#includemallo.h? 1、在C语言中使用malloc函数进行动态内存分配。malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void malloc(unsigned int num_bytes);功能:分配长度为num_bytes字节的内存块。 2、你可以看一下C语言那本…

    2024年5月23日
    4400
  • javascriptcanvas的简单介绍

    如何使用js在画布上绘制图形 1、可以使用 drawImage()方法把一幅图像绘制到画布上。 以使用三种不同的参数组合。最简单的调用方式是传入一个 HTML 元素,以及绘制该图像的起点的 x 和 y 坐标。 2、效果图:使用JavaScript在画布中绘制文本图形首先我们来看看要在画布上绘制文本图形,需要用到的最重要的属性和方法:font属性:定义文本的字…

    2024年5月23日
    4100
  • cortexm4linux的简单介绍

    Cortex-M4的主要功能 Cortex-M4提供了无可比拟的功能,以将[1] 32位控制与领先的数字信号处理技术集成来满足需要很高能效级别的市场。 Cortex-M4核心具有浮点单元(FPU)单精度,支持所有Arm单精度数据处理指令和数据类型。它还实现了一套完整的DSP指令和一个提高应用程序安全性的内存保护单元(MPU)。 主要是m4比m3多了dsp的支…

    2024年5月23日
    4300
  • 3desjavaphp的简单介绍

    php的3des加密结果与java不一致 他们的加密算法都是通用的,是可以解开的,只要你des的模式,加密长度,初始向量什么的都一样就可以。 JAVA写RSA加密,私钥都是一样的,公钥每次加密的结果不一样跟对数据的padding(填充)有关。Padding(填充)属性定义元素边框与元素内容之间的空间。padding简写属性在一个声明中设置所有内边距属性。 要…

    2024年5月23日
    4600
  • 黑客代码软件学习推荐歌曲的简单介绍

    我想自学编程代码,,目地是“黑”网站,开发出破解代码。有没有这方面的… 这个迭代周期不应该以周为周期或以月为周期发生,而是应该以日为周期。知识等待使用的时间越久,知识这把斧头就越钝。等待学习新知识的时间越长,你就越难以将其融入到代码中。 我认为这个问题问得本身就显得有点矛盾,想学却担心自己看不懂代码学不来,试问哪个编程人员不是从零开始的。坚定信念…

    2024年5月23日
    4700
  • java8种基本类型范围的简单介绍

    java中常用的数据类型有哪些 1、java数据类型分为基本数据类型和引用数据类型,基本数据类型有boolean 、long 、int 、char、byte、short、double、float。引用数据类型有类类型、接口类型和数组类型。 2、java中包含的基本数据类型介绍:\x0d\x0aJava共支持8种内置数据类型。内置类型由Java语言预先定义好,…

    2024年5月23日
    4600
  • linux系统与gpt的关系的简单介绍

    linux下查看分区是不是gpt 看分区会报错,比如:WARNING: GPT (GUID Partition Table) detected on /dev/sda! The util fdisk doesnt support GPT. Use GNU Parted.所以这个sda就是gpt的。 选择“管理”;在“磁盘管理”中,右键“磁盘0”,在弹出的右键…

    2024年5月23日
    5300
  • 北京黑客学习培训的简单介绍

    现在学什么好啊 包括建筑设计、服装设计、珠宝首饰设计等,选择适合自己的设计专业,好好学习,就业容易且收入高。学前教育专业:很多女生喜欢小孩子,且女生一般细心且有耐心,教育行业假期宽裕,工作环境单纯,就业机会多。 现在比较热门好就业的专业有人工智能、机械专业、电子商务专业、人力资源专业、金融学专业、小语种类专业等等。人工智能:人工智能领域的研究包括机器人、语言…

    2024年5月23日
    4000
  • javaee要学那些东西的简单介绍

    java主要学习哪些内容 1、学java最重要的是下面四个内容:掌握Java语言的使用:语言语法、程序逻辑,OOP(面向对象)思想,封装、继承、多态,集合框架、泛型、File I\O技术,多线程技术、socket网络编程,XML技术。 2、Java基础:了解Java的基本语法、数据类型、控制流程、数组、字符串等基础概念。学习面向对象编程(OOP)的原则和概念…

    2024年5月23日
    4100

发表回复

登录后才能评论



关注微信