首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能引发异常类型的异常,异常类型必须是Throwable的子类

不能引发异常类型的异常,异常类型必须是Throwable的子类
EN

Stack Overflow用户
提问于 2018-10-26 10:38:46
回答 7查看 28.9K关注 0票数 2

我在其他问题上了解到了这个问题,但仍然没有弄清楚什么才是真正意义上的“Throwable”。读几篇关于它的文章(它的“蓝蓝”),但仍然不知道如何实现它。忘了提一下我是java新手。如有任何意见,我们将欣然接受:

下面是异常类:

代码语言:javascript
运行
复制
class Exception {
private int pDen;
private int pMes;
private int kDen;
private int kMes;

public Exception(int pDen, int pMes, int kDen, int kMes) {
    super();
    this.pDen = pDen;
    this.pMes = pMes;
    this.kDen = kDen;
    this.kMes = kMes;
}
public void message()
{
    System.out.println("Isklucok");
}
public void promena()
{
    int tmpDen = 0;
    int tmpMes = 0;
    tmpDen = pDen;
    pDen = kDen;
    kDen = tmpDen;
    tmpMes = pMes;
    pMes = kMes;
    kMes = tmpMes;
}

}

下面是我在其他类中运行的代码,在这些类中,我应该捕获抛出的异常。

代码语言:javascript
运行
复制
try {
        if(pMes > kMes)
        {
            throw new Exception(pDen,pMes,kDen,kMes);
        }
        else if(pMes == kMes)
            if(pDen > kDen)
            {
                throw new Exception(pDen,pMes,kDen,kMes);
            }
    }
    catch(Exception e)
    {
        e.message();
        e.promena();
    }
EN

Stack Overflow用户

发布于 2018-10-26 10:45:52

您必须创建一个自定义Exception类,其中包含所需的Constructors,如下所示:

代码语言:javascript
运行
复制
public class CustomException extends Exception {
    /* Optional: Include Serial UID */

    public CustomException(Throwable t) {
        super(t);
    }

    public CustomException(int pDen, int pMes, int kDen, int kMes) {
        /* Handle Info & Throw Exception */
    }

}

然后您可以按以下方式抛出异常,

代码语言:javascript
运行
复制
throw new CustomException(pDen,pMes,kDen,kMes);
票数 0
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53006884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档