假设我有一个验证输入的功能。输入有效时返回true,否则返回false。
简单的例子:
public boolean validateEntry(Object entry){
if(entry == null)
return false;
if(!(entry instanceof Entry.class))
return false;
return true;
}
除了返回布尔值外,我还想返回无效原因。
我的返回选项是:
返回此函数的正确方法是什么?
谢谢。
答案 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,捕获自定义异常。