学习笔记13(自定义异常类)

1、自己抛出异常

之前的异常都是由编译器抛出的,编译器检查到你的数组下标越界了,就给你抛出一个异常,这属于语法上的错误。但是在有些时候我们希望一些逻辑错误也可以抛出异常,比如日期不可能是负数,这该怎么办呢?我们可以用throw自己写手动扔出一个异常,格式如下:

throw new ExceptionType(MessageString);

ExceptionType是一个异常类名称,而MessageString是传递给异常对象的构造函数的一个字符串参数,这个参数就是从异常对象的getMessage中返回的错误消息,现在你可以自定义这个错误消息的内容了。如果不向构造函数传递消息,getMessage就会返回一条空消息。

不要混淆throw和throws,throw会创建一个新的异常对象,而throws只会告诉编译器:这个方法有可能抛出异常。

看一个例子:假设你有一个骰子,你希望定义骰子上的数字个数最小是多少,如果小于这个值就返回一条错误消息。

 import java.util.Random;

/**
 The Die class simulates a six-sided die.
 */

public class Die
{
    private final int MIN_SIDES = 4;
    private int sides; // Number of sides
    private int value; // The die's value

    /**
     The constructor performs an initial
     roll of the die.
     @param numSides The number of sides for this die.
     */

    public Die(int numSides)
    {
        // Validate the number of sides.
        if (numSides < MIN_SIDES)
        {
            throw new IllegalArgumen
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值