从验证方法正确返回错误

时间:2019-06-29 13:36:01

标签: java

假设我有一个验证输入的功能。输入有效时返回true,否则返回false。

简单的例子:

public boolean validateEntry(Object entry){
    if(entry == null)
        return false;
    if(!(entry instanceof Entry.class))
        return false;
    return true;
}

除了返回布尔值外,我还想返回无效原因。

我的返回选项是:

  • 对(java +1.8)
  • 引发异常
  • 字符串,
  • 等等...

返回此函数的正确方法是什么?

谢谢。

2 个答案:

答案 0 :(得分:0)

我认为一种方法是创建一个像 false 这样的类并返回。 (您的函数将其返回)
如您所知,您可以将所有这些属性放入其中。例如: namespace App\Providers; use Illuminate\Support\ServiceProvider; use Auth; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { dd(Auth::check()); } } Error等。 您也可以针对不同的情况为其创建不同的构造函数。您也可以始终返回而不是返回并在另一侧检查它(在调用函数时)。
我认为这是一个不错的选择,希望对您有所帮助。

答案 1 :(得分:0)

如果验证失败,我将抛出一个自定义的运行时异常,对于每个失败的验证,您可以有一个不同的异常,然后在您的调用方法中围绕try catch,捕获自定义异常。