发布于2024-11-10 08:34 阅读(1060) 评论(0) 点赞(1) 收藏(4)
我对 Java 中的异常以及何时使用哪种特定的实现方式有点困惑。
我使用 IllegalArgumentException 作为示例,但我想讨论的重点是何时抛出、扩展或抛出新异常?
另外作为补充,我有一个任务,我必须创建一个 java 类,并且规范模糊地指出构造函数应该抛出一个 IllegalArgumentException,那么哪一个最好使用?
public class Test{
//when does one use this type of exception
public Test(String yourName) throws IllegalArgumentException{
//code implemented
}
//when does one use this type of exception
public Test(String yourName) extends IllegalArgumentException{
//code implemented
}
public Test(String yourName){
if(yourName.length() <= 0){
//why not use this type of exception instead
//and what happens when I use this type of exception
throw new IllegalArgumentException("Please Enter Your Name..!");
}
}
}
提前致谢。
当发生异常时,有两种方法可以处理它:从方法中抛出异常或执行try-catch。第一种方法如下:
public class MyClass {
public void myMethod() throws IllegalArgumentException {
someOtherMethod();
}
}
在这种情况下,您知道someOtherMethod()
可能会引发异常,但您不想处理它 - 您只需将其传递下去即可。此后, 的调用者myMethod()
应该处理异常。
但第二种方法是你自己处理:
public void myMethod() {
try {
someOtherMethod();
} catch (Exception e) {
System.out.println("You've got an exception!");
}
}
关于手动抛出异常 - 您可能假设您在 中执行此操作someOtherMethod()
。当您这样做时,throw new IllegalArgumentException("Please Enter Your Name..!");
程序会停止并显示有关此异常的消息(除非您以try-catch方式处理它)。
最后,当你创建自己的异常类时,你可以扩展一些异常:
class MyException extends IllegalArgumentException {
...
}
在这种情况下,您可以throw new MyException();
在代码中执行此操作。
我建议你多读一些有关 Java 异常的内容,以了解发生了什么。你可以从本课开始。
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/692050/7e4b5b976a8da0a2e68b/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!