首页 > 编程知识 正文

java异常处理语句和作用,java中的异常处理机制原理

时间:2023-05-05 01:56:07 阅读:164816 作者:4066

JAVA异常处理的语句为:try-catch-finally,在该语句中可以包含一个或多个catch语句,可以省略finally语句。 但是,try语句之后至少需要一个catch或finally语句。 JAVA异常处理机制只能处理Throwable类或其子对象

JAVA异常处理可以大致分为两类:

JAVA针对不同的异常类采取不同的处理策略。

类别

处理方式

Error及其子类

Error是一种很难恢复的严重错误,通常不通过程序处理

继承扩展的运行时扩展

RuntimeException表示编程和实现问题,例如数组的越界使用、算术运算异常(例如0运算除外)、空指针异常(即访问未初始化的指针)等。 正确设计和实施的程序不应出现这些异常,解决的策略是纠正错误。运行时间扩展异常不需要被缓存。 即使是th

其他继承Exception类

其他异常通常由不存在文件的、无效的URL等环境因素引起。 这是由于用户的误操作而引起的,例如可通过催促用户进行正确的操作等异常处理来应对。

:现在我们来讨论Error、Exception和RuntimeException的区别。

Error表示非常严重和意外的异常,通常不需要由APP应用程序捕获和处理。

程序必须捕获和处理这些异常,因为除RuntimeException以外的Exception通常是设计或实现的异常,也是编译器可以“感知”的异常。

RuntimeException和Error一样也不需要捕获,即使在方法中throws了RuntimeException,调用方法的语句也不需要catch这样的异常。

也就是说,对于以声明语句returntype method name [ paramlist ] throwsexceptionlist声明的例外,一定会处理exception,但也可以不处理RuntimeException异常。

是否需要捕获,是一句话是否被编译器感知到。 是否需要捕获,是一句话是否被编译器感知到。 是否需要捕获,是一句话是否被编译器感知到。

例如:

import java.io.*;

import java.util.*;

class B{ (

void s () throws RuntimeException{

throw new RuntimeException (;

}

}

public class M{

publicstaticvoidmain (string args [ ] ) ) ) ) )。

{

B b=new B (;

托里

{

b.s (;

}

finally

{

system.out.print(here2);

}

}

}

可以产生结果的here2exceptioninthread ' main ' Java.lang.runtime exception

ATB.s(m.Java:6 ) )。

atm.main(m.Java:18 ) )。

import java.io.*;

import java.util.*;

class B{ (

void s () throws Exception{

throw new Exception (;

}

}

public class M{

publicstaticvoidmain (string args [ ] ) ) ) )。

{

B b=new B (;

托里

{

b.s (;

}

finally

{

system.out.print(here2);

}

}

}

编译时M.java:18:未报告的异常java.lang.Exception; 必须捕获或声明才能抛出

b.s (;

^

1错误

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。