当前位置:   article > 正文

java异常问题_编译器会强制要求使用者捕获run

编译器会强制要求使用者捕获run

1.运行时异常与一般异常有何异同
(runtime exception)运行时异常:是指编译器不要求强制处置的异常。一般是指编程时逻辑错误,是程序员应该积极避免其出现的异常。
(checked exception)一般异常:java编译器强制要求我们必需对出现的异常进行try…catch…处理的否则程序不能通过编译
2.error和exception有什么区别
Error:java虚拟机无法解决的严重问题。如:JVM系统内部错误,资源耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性的代码进行处理
Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如:空指针异常,数组下标越界异常。
在这里插入图片描述

Exception下异常又可以分为运行时异常和一般异常
(1)运行时异常是指编译器不要求强制处置的异常。一般是指编程时逻辑错误,是程序员应该积极避免其出现的异常。Java.lang.RuntimeException类及它的子类都是运行时异常。对于这类异常,可以不作处理,因为这类异常很普遍,若全处理可能会对程序的可读性和运行效率产生影响。
(2)是指编译器要求必须处置的异常。即程序在运行由于外界因素造成的一般性异常。编译器要求Java程序必须捕获或声明所有编译时异常。对于这类异常,如果程序不处理,可能会带来意想不到的结果。
一般异常指:checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。
2.Java中的异常处理机制的简单原理和应用

try{
//可能产生异常的代码块
}catchExceptionName1 e){异常1
}catch(ExceptionName2 e){异常2
}finally{//无论是否发生异常,都会执行的语句
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.throws,throw,try,catch,finally分别代表什么意义?
throws 抛出可能的异常
throw 抛出一个明确的异常
try 尝试运行的代码
catch 捕获异常
finally 最终执行的代码
4.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会执行,return之后。
finally 语句总会执行,除非遇到一些特殊情况,如System.exit(0)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/213909
推荐阅读
相关标签
  

闽ICP备14008679号