繁体   English   中英

JAVA中的异常处理

[英]Handling exceptions in JAVA

我知道如果我们有一个没有 try 和 catch 语句的普通代码,那么如果发生异常,则 JVM 的默认异常处理程序会处理该异常。 我有一个代码...

public class St
{
    public static void main(String args[])
    {
        try
        {
            int y=23/0;
        }
        catch(Exception e)
        {
            System.out.println("Division by zero");
        }
    }
}

据我所知,在这段代码中,异常发生在第 7 行,抛出了一个 Exception 类的对象,这就是为什么我们将 Exception 类的对象作为参数以捕获异常。我现在到了吗??? ?

但是为什么这段代码显示编译时错误......

public class St
{
    public static void main(String args[])
    {
        Exception e=new Exception();
        try
        {
            int y=23/0;
        }
        catch(e)
        {
            System.out.println("Division by zero");
        }
    }
}

在此,我创建了一个类 Exception 的对象引用 e,并且我在 catch 中将其作为参数。但它没有运行,在编译时出错。有人可以解释为什么吗???

这不是 catch 块的工作方式。 它需要一个 ExceptionType 参数,然后是一个名称来在它被捕获后引用异常。 它不接受一个对象作为参数,而是一个继承自“Throwable”的类的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM