任何人都可以通过继承java.lang.Exception来解释创建自己的Exception类的目的是什么吗?
为什么你不能创建自己的传统课程来处理异常?
任何人都可以举例说明为什么它对子类Exception或Throwable有用吗?
答案 0 :(得分:2)
它非常有用,因为它可以让您更精细地控制应用程序在发生错误时抛出的异常类型。 如果所有内容都是根据非常一般的例外情况进行讨论,那么您将不得不依赖于错误消息中的字符串类型信息。能够提供可以检查的类型异常
会好得多答案 1 :(得分:2)
子类化java.lang.Exception
非常有用,例如,当您打开文件时,可以获得FileNotFoundException
或IOException
。 ..知道想象一下你是从特定网址下载的,所以你可以获得MalformedURLException
等等。想象一下这种情况,但有特定程序的例外。
做像
这样的事情try{
....
}catch(MySubclassedException1 ex){
....
}catch(MySubclassedException2 ex){
....
}catch(MySubclassedException3 ex){
....
}
比
更高效,更清洁try{
....
}catch(Exception ex){
if(ex.getMessage().equals("Message1")){
...
}else if(ex.getMessage().equals("Message2")){
...
}else if(ex.getMessage().equals("Message3")){
...
}
}
希望它有所帮助。
答案 2 :(得分:1)
InvalidUserCredentialsException。接收该异常的任何人都会知道它是什么。此外,您可以检查异常是否为类型,并根据类型处理它。例如,如果引发异常并且您发现它的类型为InvalidUserCredentialsException,则您知道要重定向到登录屏幕。