1 程序中的异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条件生成时,错误将引发异常。
Java异常类层次结构图:
{
=1L;
publicMyException(){
super();
}
publicMyException(Stringmsg){
super(msg);
}
}
使用的话就不演示了 如果你已经研究到了自定义异常 那么我相信你也一定会使用了
如果不会使用 建议学会使用后再来看这篇文章
② java中如何使用自定义异常
class NotScoreException extends Exception
{
public NotScoreException()
{
super();
}
public NotScoreException(String message)
{
super(message);
}
}
public class MyExceptionTest
{
public static String getGrade(double score)throws NotScoreException
{
if(score<=100&&score>=60)
{
return "及格";
}
else if(score<60&&score>=0)
{
return "不及格";
}
else
{
throw new NotScoreException("输入成绩有误");
}
}
public static void main(String[] args)
{
try
{
System.out.println("75分的等级为:"+getGrade(75));
System.out.println("105分的等级为:"+getGrade(105));
}
catch (NotScoreException e)
{
System.out.println("发生自定义异常,异常信息为:"+e.
getMessage
());
}
}
}
③ java中自定义异常为何要继承exception类
在Java中,自定义异常通常是通过继承`java.lang.Exception`类来实现的。这样的设计允许开发者创建具有特定含义的异常类型,能够更准确地反映应用程序中发生的错误情况。以下是对您提供内容的润色和改写:
1. 异常的分类
- 非运行时异常(Checked Exception):这些异常必须在编译时被捕获或者在方法签名中声明抛出。
- 运行时异常(Runtime Exception/Unchecked Exception):这些异常通常在程序设计中应避免,但在某些情况下也可能被故意抛出。
2. 异常的处理
- 对于非运行时异常,必须通过`try...catch`语句块进行捕获,或者在方法的签名中使用`throws`关键字声明。
- 运行时异常可以忽略不处理,或者通过`try...catch`语句块进行捕获和处理。通常不建议对运行时异常进行捕获。
3. 捕获异常
- 示例代码展示了如何使用`try...catch...finally`语句块捕获和处理`FileNotFoundException`。
4. 抛出和捕获异常
- 可以通过抛出异常将问题交给调用方法处理,或者使用`try...catch`语句块在方法内部捕获并处理异常。
5. 自定义异常
- 自定义异常通常直接继承自`Exception`类,以便能够捕获和处理特定的异常情况。
- 创建自定义异常时,可以提供构造方法来初始化异常信息。
- 在类中使用自定义异常时,可以通过抛出该异常来响应特定的错误情况。
6. 异常使用注意事项
- 当有多个`catch`语句块时,应确保将更具体的异常类型 catch 块放置在更一般的异常类型 catch 块之后。
- 在`try`语句块中遇到`return`语句后,`finally`语句块仍然会被执行,之后才会返回。
- 如果`try`语句块中包含`System.exit(0)`,将不会执行`finally`语句块,因为这将导致JVM立即终止。
以上改写旨在提高内容的清晰度和准确性,同时保留了原文的语义和信息。