我是用Java编写Web服务前端的初学者,我必须验证输入以获取对用户有用的错误消息,目前它以这种方式工作:

public Object zipVal(String zip)
{
    try
    {
        if (zip.length() == 5)
        {
            val.setZip(Integer.parseInt(zip));
            return val.getZip();
        } else
        {
            return lengthError;
        }

    } catch (NumberFormatException e)
    {
        return formatError;
    }
}


邮编。使用对象声明返回类型不是我想要的(并且不鼓励使用afaik),但是我不确定应该如何处理错误的输入,我应该为每个Exception和invalid返回仅null用另一种方法输入和处理这样的事情?

编辑:添加了一些东西以实际引发异常...

最佳答案

是的,异常处理可能是要考虑的棘手问题之一(例如,如果来自C编程背景,我们曾经对通常,您可以通过捕获其他API来确保自己的安全:将其他API集成并封装在您自己的异常中(将它们掩盖起来),但这样做不要忘记使用此构造函数将原始异常链接到您自己的异常中(和/或此类衍生物):

public MyException(final String message, final Throwable cause) {
        super(message, cause);
}


当然可以看到很多:

catch (Exception) {
    return null;
}


在代码中也是如此,我不会说这是“好的”面向对象,但是它仍然很常见,可以在特殊场合使用。

而且,通常,在捕获异常时您要做什么(如何处理)非常重要,有人告诉我,编程中90%涉及错误控制,而10%涉及功能:)

以下是一些教程/资源:
http://docs.oracle.com/javase/tutorial/essential/exceptions/
http://howtodoinjava.com/2013/04/04/java-exception-handling-best-practices/

09-04 07:03
查看更多