从构造函数中失去控制

时间:2012-10-02 07:44:36

标签: java class exception-handling double

我正在尝试调用自定义catch表达式

String value1 = side1_tb.getText();
String value2 = side2_tb.getText();
String value3 = side3_tb.getText();
try
{
    result_lbl.setText(
        actual_triangle.Triangle(
            Double.parseDouble(value1),
            Double.parseDouble(value2),
            Double.parseDouble(value3)));
}
catch (NumberFormatException exe)
{

}

所以从上面的代码中你可以看到有三个文本框值被赋给字符串变量然后我实现了一个带有'Numberformatexception'的try和catch方法但是在'Numberformatexception'的位置我想要实现一个自定义异常,这个异常将在另一个类中声明,让我们调用这个类EXCEPTIONclass.java,在这里我想创建一个异常,如果String值无法解析为double值,我试图在上面的代码中实现

不确定如何扩展异常类,然后声明一个新的异常。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

public class MyCustomException extends Exception
{
    // To keep compiler happy about Exception being serializable.
    // Note: This should carry meaningful value when these exceptions are going 
    // to be serialized
    public static final long serialVersionUID = 1L; 

    public MyCustomException(String message, Throwable t)
    {
        super(message, t);
    }

    // Other constructors of interest from the super classes.
}

在catch块中,您将按如下方式包装NumberFormatException:

catch (NumberFormatException nfe)
{
    throw new MyCustomException("<Your message>", nfe);
}

答案 1 :(得分:0)

只需创建从Throwable(对于checked异常)或RuntimeException(如果您希望取消选中)派生它的异常类,并从catch子句中抛出它。