2016-04-23 25 views
0

我創建了動態側欄菜單,當我嘗試插入新菜單時,我收到錯誤消息Route [nameroute] is not defined。我如何通過try catch來處理這個錯誤?如何處理未定義的路由異常?

這是我的控制器文件。

DB::beginTransaction(); 
try 
{ 
    $insert = AppMenu::insertGetId([ 
      'description' => $request->description, 
      'menu_url' => $request->menu_url ? $request->menu_url:null, 
      'menu_alias' => $request->menu_alias ? $request->menu_alias:null, 
      'ismenu' => $request->ismenu, 
      'parent' => $request->parent ? $request->parent:null, 
      'menu_icon' => $request->menu_icon, 
      'menu_order' => $request->menu_order 
    ]); 

    DB::table('appmenu_role')->insert([ 
       'appmenu_id' => $insert, 
       'role_id' => $role 
       ]); 


     } 
     catch (\InvalidArgumentException $e) 
     { 
      return Redirect::back()->with('infoMessage', "Route not defined. "); 
     } 

     DB::commit(); 
     Session::flash('successMessage', 'Menu Created'); 
     return Redirect('menu'); 
+0

您使用的是Laravel框架嗎? – nextt1

+0

是啊拉拉維爾5.2 – Budi

回答

0

您應該使用Exception類來捕捉任何類型的異常。

catch (\Exception $e) 
{ 
     return Redirect::back()->with('infoMessage', "Route not defined."); 
} 
+0

我是使用異常,但仍然得到錯誤信息 – Budi

+0

你確定這個控制器執行? – nextt1

+0

是的,我相信會被執行 – Budi