laravel-admin 关闭debug模式导致异常信息到页面的排查

larave-admin 编辑/增加处理方法如下

关闭laravel全局debug模式异常信息不显示

protected function form()
    {

        $form->text('nick', __('昵称'))->required();
        $form->radio('sex', '性别')->options(['1' => '男', '2' => '女'])->default('0');
        $form->tools(function (Form\Tools $tools) {
            $tools->disableDelete();
        });
        $form->saving(function (Form $form) {

                /**
                 * @var UserModel $user
                 */
                $user = $form->model();

                /**
                 * 检查昵称的唯一性
                 */
                $user->checkNick($form->nick, $user->id); //此处昵称合法性检查,不通过会抛出异常

        });
        return $form;

    }

$user->checkNick($form->nick, $user->id);

此处昵称合法性检查,不通过会抛出异常,在开启debug模式的情况下异常信息是可以显示出来

修正代码如下尝试

捕获异常的代码

  • 这种不可以
 return admin_error('操作失败', $ex->getMessage());  
  • 这种可以解决问题,但是返回会刷新页面,特别是新增的时候很痛苦。
  $error = new MessageBag([
                    'title'   => '操作失败',
                    'message' => $ex->getMessage().$ex->getFile().$ex->getLine(),
                ]);
                return back()->with(compact('error'));
  • 添加没有问题,错误信息提示到右上角

但是编辑的时候这个异常不会捕获,编辑还会触发其它的事件

···
return admin_toastr($ex->getMessage(), ‘error‘);



protected function form()
    {

        $form->text('nick', __('昵称'))->required();

        $form->radio('sex', '性别')->options(['1' => '男', '2' => '女'])->default('0');

        $form->tools(function (Form\Tools $tools) {
            $tools->disableDelete();
        });
        $form->saving(function (Form $form) {
            try{

                /**
                 * @var UserModel $user
                 */
                $user = $form->model();

                /**
                 * 检查昵称的唯一性
                 */
                $user->checkNick($form->nick, $user->id);

            }catch(\Exception $ex){

                return admin_toastr($ex->getMessage(), 'error');
                $error = new MessageBag([
                    'title'   => '操作失败',
                    'message' => $ex->getMessage().$ex->getFile().$ex->getLine(),
                ]);
                return back()->with(compact('error'));
                // throw new \Exception($ex->getMessage());

            }
        });
        return $form;

    }
  • github issue

https://github.com/z-song/laravel-admin/issues/3590

这个方法我没有尝试,因为要改代码,我懒不想改,不想测试。

https://github.com/z-song/laravel-admin/issues/3590

原文地址:https://www.cnblogs.com/zqsb/p/11996851.html

时间: 2024-10-06 22:18:55

laravel-admin 关闭debug模式导致异常信息到页面的排查的相关文章

集成开发环境,关闭Debug模式,解决方案

通过Myeclipse8.6开发Web项目时,在浏览器中输入URL之后,Myeclipse弹出debug界面,为了不弹出这个界面,解决方案为: 方案一: window->preferences->Myeclipse->Servers->Tomcat然后找到你的相应的Tomcat服务器的版本,选中然后展开其下面的子菜单会发现有个Launch选项,选中,在右侧Tomcat launch mode 中,选择Run mode 然后Apply ,最后点击OK,就行了. 方案二:去除所有的断点

django关闭debug后,静态文件的处理

Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供静态文件服务了. 1.使用django.views.static.serve()方法.在URLconf中添加: 编辑usrs.py,在最后添加如下代码: from django.conf import settings if settings.DEBUG is False: urlpatterns

ecshop开启debug模式的方法

ecshop开启debug模式必须修改配置文件文件:data/config.php 中加入 define('DEBUG_MODE', 0); 其中各种模式的函义:0 关闭debug1 显示错误信息2 关闭缓存4 显示debug页面8 记录sql查询 所有的调试模式都开启:15 = 1 + 2 + 4 + 8 在生产坏境建议关闭: define('DEBUG_MODE', '0');

django关闭DEBUG后 static静态文件都访问不了

Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供静态文件服务了.想一想这是符合Django的哲学的:这部分事情标准服务器都很擅长,就让服务器去做吧! OK,解决问题的办法也就出现了,我最开始想到的就是,使用项目正式部署是所使用的配置,由apache提供静态文件服务.不过解决问题的方法远不止一种,在stackoverflow上我发现了更有趣的方法.

Eclipse Debug模式无法启动 Cannot connect to VM 解决

版权声明:本文为博主原创文章,未经博主允许不得转载. Eclipse普通的Run模式没有问题,Debug模式却启动不了.换了Eclipse,MyEclipse,JDK都不解决问题 后来将机器上安装的城市热点认证软件关闭,Debug模式终于可以正常启动了. 原来是城市热点和JVM的调试模式冲突了. 使用Eclipse对Java代码进行调试,无论是远程JVM还是本地JVM都会进行Socket通讯.发生这样的错误是由于Socket通讯不上造成的. 城市热点是相当霸道的,不但会修改winsock,还会监

010:DEBUG模式详解

Debug模式: 1.创建的Django项目默认就开启debug模式,所以以后我们修改了Django项目代码,然后使用Ctrl + s保存:那么Django项目就会自动重启并加载我们修改后台的代码--无需手动重启: 2.开启Django项目debug模式,在开发.测试过程中出现的bug,将在浏览器中显示:如下图: 3.生产环境中,我想你不会开启Debug模式吧!关闭Debug模式,必须设置ALLOWED_HOSTS变量,如下图所示: 原文地址:https://www.cnblogs.com/zh

Debug模式应用程序输出Debug调试信息(现成的宏定义,用于格式化打印信息)

[cpp] view plain copy // Debug模式,主要输出一些调试的信息. #ifdef UNICODE #define _FILE_          _STR2WSTR(__FILE__) #define _FUNCTION_          _STR2WSTR(__FUNCTION__) #else #define _FILE_          __FILE__ #define _FUNCTION_          __FUNCTION__ #endif #defin

Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处

以前用eclipse的时候,可以根据所抛出的异常进行调试,比如:出现了空指针异常,我想知道是哪一行抛出的,在eclipse中我只需在debug模式下把空指针异常这个名字设置进去,当遇到空指针异常时,eclipse就会自己停留在那一行,intellij idea如何实现这个功能呢? 1,debug窗口如下图,或者按快捷键ctrl+shif+f8进行设置 2,点击+号,可以看到断点的几种类型,这里选择异常类型断点. 3,在弹出的对话框中输入异常关键字,即可自动搜索 4,选中后点击ok.可以看到已经添

tomcat在debug模式启动直接提示:弹框无法启动,无报错信息;但直接启动的话,就会有报错信息

今天运行项目,Debug模式启动Tomcat,直接弹框:无法启动(翻译,因为后来整理,所以都忘记当时的截图) 后来尝试直接start,发现不弹框了,但是console有报出错信息. 类似以下错误 2015-8-13 17:29:03 org.apache.tomcat.util.net.JIoEndpoint$Acceptor run严重: Socket accept failedjava.net.SocketException: select failedat java.net.PlainSo