java问题 ~~求教高手 13) 以下关于异常的说法,错误的是

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java问题 ~~求教高手 13) 以下关于异常的说法,错误的是相关的知识,希望对你有一定的参考价值。

A. 如果方法抛出运行时异常,在调用该方法的代码中不需要使用catch语句。
B. 如果方法抛出Error,无需在方法签名声明抛出异常。
C. 异常可分为checked Exception和unchecked Exception
D. 所有异常都是Exception类的子类。

选择D

我在这只说下 erroer 和Exception的区别

error 是错误 , 这个错误是由于java虚拟机引起的 是程序员无法通过更改代码解决的,所以这种错误我们不需要抛出异常
Exception 这就是我们所说的异常 我们知道 java 分为2步 第一 编译 如果编译没有通过,那叫做
语法错误 编译通过 而在第二步运行的时候产生的错误(此错误不是上面说的error)叫做异常 .
而异常的解决方案有多重
常见的有 1 在方法签名处抛出异常
2 在需要扑捉异常的地方用try catch语句来捕捉

java语言采取了一个统一的异常处理机制。
什么是异常?运行时发生的可被捕获和处理的错误。
在java语言中,Exception是所有异常的父类。任何异常都扩展于Exception类。Exception就相当于一个错误类型。如果要定义一个新的错误类型就扩展一个新的Exception子类。采用异常的好处还在于可以精确的定位到导致程序出错的源代码位置,并获得详细的错误信息。
Java异常处理通过五个关键字来实现,try,catch,throw ,throws, finally。具体的异常处理结构由try….catch….finally块来实现。try块存放可能出现异常的java语句,catch用来捕获发生的异常,并对异常进行处理。Finally块用来清除程序中未释放的资源。不管理try块的代码如何返回,finally块都总是被执行。

Java异常分为两大类:checked 异常和unChecked 异常。所有继承java.lang.Exception 的异常都属于checked异常。所有继承java.lang.RuntimeException的异常都属于unChecked异常。
当一个方法去调用一个可能抛出checked异常的方法,必须通过try…catch块对异常进行捕获进行处理或者重新抛出。
参考技术A 选择D
异常的分类:
①异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception,具体的RuntimeException继承RuntimeException。
②Error和RuntimeException及其子类成为未检查异常(unchecked),其它异常成为已检查异常(checked )
参考技术B 答案是:C
解析:在Java中异常分为两大类:编译异常和运行异常(运行异常即是RuntimeException;其余的全部为编译异常)
参考技术C 好像都没错。硬说有错的话我选A,取决于“不需要”是什么意思,如果“不需要”是“一定不用”,那就错了,如果“不需要”是“可以这样做,也可以不这样做”,那这句话还是对的。 参考技术D c 异常可分为 error 和Exception

求教高手,初学javaweb,有一个关于抽奖后台程序的疑惑

小弟正在做一个抽奖的项目,前端程序用jquery ajax,后端程序负责用概率算法计算中奖数字,返回给ajax,而且负责和数据库交互,插入和更新数据。我把完成这一功能的程序都写在一个jsp中,但听说这样做不对,有sql注入的危险,而且这也不是正确的做法,ajax请求的程序一般用severlet,小弟对severlet也不熟。求教大侠们,完成这个功能的ajax请求的后台程序的正确写法

参考技术A 所谓sql注入就是有些数据需要用户输入提交给后端,而后端又是采用拼字符串的形式组成的sql语句,这样很容易被sql注入,这样输入的数据可以把sql中加上一些sql的符号,比如分号 单引号加上sql的and or等符号把你的sql改掉,这是sql注入
所以关键不是使用jsp和使用servlet的区别,是有没有用户提交和后段是否是拼接的字符串
因为是抽奖所以不存在使用用户输入的数据对数据库操作,所以不会有sql注入问题追问

谢谢大侠,但是我感觉我ajax请求jsp不是主流的做法,是不是应该写成servlet才正规,才符合开发模式,主要是我不太知道servlet的用途,我感觉jsp要更简单一点

追答

jsp就是给servlet封装了一下,目的就是方便你写html代码,在servlet里写的html代码都需要使用out。print输出才行,而jsp里你可以直接写,区别仅限这些,对于你的ajax请求,不需要html代码,只需要很简单的json数据就可以,所以使用servlet比较合适,这也是为什么jsp作为展现层,而servlet作为控制层的原因

参考技术B 既然你都已经可以在JSP页面实现功能了,那要放到servlet中去实现应该是很简单的吧,无非就是把JSP页面中处理逻辑的代码搬到一个servlet里面并且把表单参数的传递指向servlet,在从JSP页面接受servlet处理后返回的结果。追问

求教大侠,表单参数,指的是什么

追答

既然你说了摇奖了,那肯定需要有开始摇奖这么一个按钮吧,当用户点击以后就把请求提交到相关的servlet去处理,

本回答被提问者采纳
参考技术C 这个这样不太好说。
首先。在javaweb中jsp与servlet是等价的。只是servlet是比较直观的java类
jsp是在运行时编译成class来运行。

你给出一个邮件吧,然后给你发一下servlet的demo.
你参考一下。

以上是关于java问题 ~~求教高手 13) 以下关于异常的说法,错误的是的主要内容,如果未能解决你的问题,请参考以下文章

求教delphi高手 关于form.modalresult的问题。。。。。。。。。

关于双网卡互连问题,求教高手

求教编程高手,关于JS判断一个元素在父窗口还是子窗口内~先谢谢了~

关于C语言的语法中类型转换的一个问题。求教C语言高手。

求教高手如何java绘画出一条趋势线?

若要运行此应用程序,您必须首先安装NET Framework以下版本之一: v4.0.30319,高手求教,泪流满面。