抛出异常有什么好处?

问题描述

只要编译时候没有问题,运行时出错了,就算抛出异常了,错误还在那里啊,抛出异常有什么好处呢? 问题补充:捕获和抛出有什么区别?Andy烦烦 写道

解决方案

引用捕获和抛出有什么区别?捕获,异常的控制权在你的手上。抛出,你把异常又扔出去了。如果抛出了异常,而没被后边的逻辑捕获进行处理,程序就会出现“异常”错误用用就知道了。
解决方案二:
catch是用来捕获异常的,try里的是可能抛出异常的语句,一个方法如果完全有能力自己处理发生的错误就可以自己处理,如果处理不了这个错误,就可以用throw重新抛出,此时方法的签名中要有throws子句告诉调用者这个方法是可能抛出错误的
解决方案三:
异常提供了原始的C的错误处理机制所不仅有的优点,我们在Java中父类异常类型可以捕获子类对象,更加灵活,C返回错误码这种方式是办不到的;finally语句可以保证终止一些操作,比如关闭文件等资源;异常也可以实现一些类似于"goto"语句的功能。异常可以让让你把精力放在程序逻辑上,而不是错误处理上
解决方案四:
我个人认为如果有异常的话,捕获比较好,不要把异常抛出!
解决方案五:
抛异常的好处:我的感受:1.当出现了问题时,起码知道哪里出问题了。2.看看它出问题的频率,试图判断是否有其他问题。
解决方案六:
异常处理让你能控制你的应用按照你的逻辑走。还能定位错误出在什么地方。看看过去旧的C式的code, 很多 goto errorno:

时间: 2024-12-02 03:51:16

抛出异常有什么好处?的相关文章

JAVA中抛出异常的throws和throw使用规则及不同

throw:(针对对象的做法) 抛出一个异常,可以是系统定义的,也可以是自己定义的.下面举两个例子:   抛出Java中的一个系统异常: public class One {public void yichang(){NumberFormatException e = new NumberFormatException();throw e;}public static void main(String[] args){One test = new One();try{test.yichang()

求教:下面的代码中为何手动抛出异常

问题描述 求教:下面的代码中为何手动抛出异常 栈的pop方法,我们这样写:int pop(){ return array[top--];}然后我看jdk源代码,写法相当于:int pop(){ if(top<0)throw new ArrayIndexOutOfBoundsException(); return array[top--];}然而即使没有增加的那句话,当top等于-1时,Java运行环境仍然会自动帮我们抛出ArrayIndexOutOfBoundsException,那么还要自己手

sql-我要写一个java程序,去链接oracle数据库,如果获取链接的时间超过1分钟,就抛出异常,请问怎么实现?

问题描述 我要写一个java程序,去链接oracle数据库,如果获取链接的时间超过1分钟,就抛出异常,请问怎么实现? 我要写一个java程序,去链接oracle数据库,如果获取链接的时间超过1分钟,就抛出异常,请问怎么实现? 解决方案 http://blog.chinaunix.net/uid-20752328-id-3451931.html 这里有一篇文章可以解决你的问题你可以点击进去看看; 如果回答对您有帮助请采纳 解决方案二: 说明数据整理不合理吧 解决方案三: 你应该优化数据库结构,或你

android-java.sql.Timestamp抛出异常

问题描述 java.sql.Timestamp抛出异常 使用下面代码获取当前时间: import java.sql.Timestamp; public class TimeFormat { public static Timestamp getCurrentDateAndTime() { String strFormat = new String("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat formatter = new SimpleDateFor

抛出异常 字符输入-C++中抛出异常,执行字符输入,按回车却没有反应

问题描述 C++中抛出异常,执行字符输入,按回车却没有反应 下面我的代码是能够运行的,不过在编译连接都如输入:78 0后会提示输入字符,我输入了y,然后多次按回车都没有反应,为什么?据我所知按ctrl+Z是执行输入结束,但是在这里再这样做程序就结束了...还有在其他编程题是多次遇见输入后敲击回车同样没有预期的反应,是不是操作技巧或者代码技巧?感谢指教!代码如下:#include using namespace std; int main(){ cout << ""请依次输入

throws-Java抛出异常时用e.printStackTrace()怎么会说没有返回值呢?

问题描述 Java抛出异常时用e.printStackTrace()怎么会说没有返回值呢? public Socket getSocket() { try { Socket socket =new Socket("localhost",8088); return socket; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } 这里要报错,没有返回值 public So

DIV+CSS布局的好处

1 内容和形式分离,网页前台只需要显示内容就行,形式上的美工交给CSS来处理.生成的HTML文件代码精简,更小打开更快. 2 改版网站更简单容易了,不用重新设计排版网页,甚至于不用动原网站的任何HTML和程序页面,只需要改动CSS文件就完成了所有改版.对于门户网站来说改版就像换件衣服一样简单容易. 3 搜索引擎更友好,排名更容易靠前. 第一 内容和形式分离,网页前台只需要显示内容就行,形式上的美工交给CSS来处理.生成的HTML文件代码精简,更小打开更快. 这个是DIV+CSS技术最现著的特点,

div+css对网站优化及在seo方面的好处

css|seo|网站优化 现在采用CSS+DIV建网站的朋友越来越多,我们今天就谈谈如何用div+css对网站优化及在seo方面的好处这个话题: 一.用css+div,就要放弃以前表格排版的一些习惯,包括页面格式的一些习惯: 1.以前用表格排版,一般都是用不规则的背景图片,跨单元格来做一些不规则的效果.css+div的特点就是格式和样式分开. 2.css+div还是用块的行使排版比较好,页面简单,直观,不那么花哨.源码的结构也简单,页面执行效率高. 3.尽量少使用div的嵌套,减少换行等冗余代码

交换友情链接有什么好处

交换友情链接有什么好处?我们又怎样来交换友情链接呢或者说交换友情链接有哪些注意事项?这些问题都成了SEO入门者的困惑. 通过交换友情链接,可以给我们自己的网站带来有效的访问量,通过你友情链接点击进来的用户,都是对你的网站感兴趣的.所以,友情链接的作用,不可小觑.谷歌的pr值,很多人都想提升,可是没 有更好的办法么,通过交换友情链接,就又显出他其中的作用了. 如果你交换了优质的友情链接,得到好的友情链接网站就能更好权重的提升.交换优质的友情链接,能一直给你网站提供帮助,这就是源源不断的能量,给你带