1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java异常处理语句是 java 异常处理

java异常处理语句是 java 异常处理

时间:2023-01-19 15:26:53

相关推荐

java异常处理语句是 java 异常处理

JAVA的异常处理的语句为:try-catch-finally,在这个语句中catch语句可以有一个或多个,finally语句可以省略.但是 try语句后至少要有一个catch语句或finally语句.JAVA异常处理机制只能处理Throwable类或其子类对象,所以自定义异常类层次需要选取Throwable类或其某个子类作为父类。

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

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

类别

处理方式

Error及其子类

Error意味着是很难恢复的严重错误,一般不由程序处理

继承Exception的RuntimeException

RuntimeException意味着程序设计或实现问题,例如数组使用越界,算术运算异常(例如除0运算),空指针异常(即访问没有初始化的指针)等.正确设计与实现的程序不应该产生这些异常,处理的策略是纠正错误.注意:RuntimeException异常不是必须被catch,即使Throw了也不必catch.

其他继承Exception类

其他的异常通常是由环境因素引起的,如文件不存在,无效URL等.这类是由用户的误操作引起的,可以在异常处理中处理,例如,提示用户进行正确操作.

注意:这里再来说说 Error,Exception以及RuntimeException的区别.

Error 表示非常严重的、不可预期的异常情况,通常应用程序无需捕获并处理。

除RuntimeException外的Exception通常是一种设计或实现的异常,它是编译器可以“感知”的异常,所以程序被要求必须捕获并处理这些异常。

RuntimeException与Error一样,也是无需捕获的,且就算在方法上throws了RuntimeException,调用该方法的语句也无需catch这些异常。

就是说在声明语句returnType methodName([paramlist])throws exceptionlist中声明的异常,Exception一定要被处理,而RuntimeException异常则可以不被处理.

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

例子 :

import java.io.*;

import java.util.*;

class B{

void s()throws RuntimeException{

throw new RuntimeException();

}

}

public class M{

public static void main(String args[])

{

B b=new B();

try

{

b.s();

}

finally

{

System.out.print(" here2");

}

}

}

能产生结果 here2Exception in thread "main" java.lang.RuntimeException

at B.s(M.java:6)

at M.main(M.java:18)

import java.io.*;

import java.util.*;

class B{

void s()throws Exception{

throw new Exception();

}

}

public class M{

public static void main(String args[])

{

B b=new B();

try

{

b.s();

}

finally

{

System.out.print(" here2");

}

}

}

编译时则会报错 M.java:18: 未报告的异常 java.lang.Exception;必须对其进行捕捉或声明以便抛出

b.s();

^

1 错误

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。