主动抛出异常及自定义异常类

主动抛出异常

抛出异常非常简单,只要:

1.找出一个合适的异常类

2.创建这个类的对象

3.将对象抛出

public static void TestException2 (String name) throws Exception
{
    if (name.length() > 10) {
        throw new Exception("The length of the name is too long");
    }

    System.out.println(name);
}

一旦方法中抛出了异常,这个方法就不会继续向下执行了。

创建异常类

但遇到任何标准异常都无法描述清楚的问题。在这种情况下,创建自己的异常类就是一件顺理成章的事情了。

习惯做法是,包含两个构造器,一个默认构造器,一个包含详细描述信息的构造器。

package com.studyjava.demo;

public class Demo18 
{
    public static void main (String[] args)
    {
        try {
            TestException2("james");
            TestException2("lebron james");
        } catch (NameException e) {
            System.out.println(e.getMessage());
        }

    }

    public static void TestException2 (String name) throws NameException
    {
        if (name.length() > 10) {
            throw new NameException("The length of the name is too long");
        }

        System.out.println(name);
    }
}

class NameException extends Exception
{
    public NameException () {};
    public NameException (String msg) 
    {
        super(msg);
    }
}