java什么是抛出异常吗 java什么时候需要抛出异常
本篇文章给大家谈谈java什么是抛出异常吗,以及java什么时候需要抛出异常对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
为什么异常是被抛出的不就是产生的吗为什么叫抛出呢
"抛出"是当程序有异常"抛"的,不是"生成"的(当然你理解为生成,也未尝不可,关键是理解JAVA程序运行机制,不在于这个术语叫什么).
比如当有除数为零的情况出现,没有异常检测的计算机语言(如C),会直接将程序停止.而JAVA不同,它的异常机制会告诉程序员"你的程序有问题,但不致于致命,你得处理一下",于是,JDK会"抛"出个异常,告诉你这个问题的存在.而程序仍在健壮在生存着.你可以用try...catch...将这个异"捕捉"让你清楚地知道问题所在的地方.
而如果你不愿处理,(或是懒得理它--当然这不是个编程的好习惯!),你就可以将它"抛出",就是在方法体声明的时候THROWS一下,意思就是说"我懒得理它,谁让它有的问题谁处理."于是,将问题留给调用它的那个方法,如果这个方法有处理的方案,就在此处理.而如果调用这个方法的那个方法,仍不愿处理,它也可以"抛"....以此类推,直到到了MAIN()方法了,因为程序就数它大,它不能不管啊.于是即便MAIN()不愿管这事,它也不得不管.但java的main(),还是比较负责的,他不能让程序死掉.于是告诉程序员,你的问题得处理了".
大体就是这个意思了.同学过生日,有点高.还有什么不清楚的,可以给mail我.
Ps;学习java,任何一种语言,我们并不能只是要弄清楚"它为什么叫这个"这个问题上,因为这些都是人们为了方便理解而起的名字而已,计算机可不认识"异常"这几个中国字.我们要理解是的它的机理,本质.我们只要知道我们这样做,计算机就会乖乖的,那样做,计算机就不听话了,就可以了.就好像我们彼此相处一样,我觉得这人好处就行了,只要是铁哥们,你叫他什么,他也高兴,而如果你整天想的是,我该叫他张三还是该叫李四,那就太过无聊了.因为你可以叫他你想叫他的任何名字,因为你们是哥们嘛.你说呢?
--共同进步
java什么时候需要抛出异常
java的异常有编译时异常和运行时异常,
编译时异常就是很明显的会出现异常,比如说a/b这样的式子b=0就会出现异常,这个大家都知道,如果你用IDE开发,系统就会提醒你要抛出异常,否则不让通过,还有比如文件的输入和输出,你用字符串指定一个文件名,这个肯定也是有可能出现异常的,当你的字符串指定的文件不存在是就会出现,所以这些很容易就能判断出异常,就是编译时异常
运行时异常就是你在写代码是不确定会出现异常,这些也都最好放在try catch里,或则throws异常已让调用此方法的类处理。
处理异常是个很好的习惯,个人简介,有错误望指正
谁知道java 异常 向上 抛出 是指 向谁 抛出
向上抛出,即向外抛出,谁调用,谁负责处理这个异常,如果这个调用者也不解决,它就需要继续向上抛出,给更高级别的调用者解决。一般来说是这样的,比如说,我这个方法有个类型转换异常需要处理,如在字符型转换成整数型的时候,如果碰到了不是整数类型的String是字母或者汉字的String就会出现异常了。但是呢不同的调用者,可能处理的方式不一样,有些调用者可能需要忽略它,有些调用者需要提醒注意,有些调用者会走另外一段处理逻辑,因此,这个方法就需要向上抛出异常,给调用者去自行判断解决。调用者调用这个方法后,就会收到提示,这个方法有异常,调用者就会根据自己的情况做相应的处理。
JAVA中的抛出异常有什么用
你好,
你应该有用过C语言吧,在面向过程的语言里面,你在调用函数时,你是怎么知道函数调用是否成功的?一般是根据函数返回值来判断,比如返回0表示成功,返回-1表示失败。
这种出错处理方式比较简单,有时你还想知道更多的出错信息。在面向对象语言里,使用异常(其实也是类)就可以很好的解决。把出错信息封装到异常类里面,这样当出错的时候,就可以根据捕获的异常对象获取更多的出错信息。
在java里,throw关键字是用在语句里面抛出异常,throws是用来声明函数可能返回异常。例如:
public void test(Object o) throws Exception{
if(o== null)
throw new Exception("在这里出错了,参数是null对象");
//接下来处理o
}
如果你要学习java,建议你去找本java语法书看看,这些都是基本语法,不难,但是必须掌握的。
希望我的回答对你有帮助。
如果你还想了解更多这方面的信息,记得收藏关注本站。