495033b9 by astaxie

fix #366

1 parent 9c164408
Showing 1 changed file with 18 additions and 7 deletions
...@@ -369,15 +369,30 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) ...@@ -369,15 +369,30 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
369 if _, ok := err.(middleware.HTTPException); ok { 369 if _, ok := err.(middleware.HTTPException); ok {
370 // catch intented errors, only for HTTP 4XX and 5XX 370 // catch intented errors, only for HTTP 4XX and 5XX
371 } else { 371 } else {
372 if RunMode == "dev" {
373 if !RecoverPanic {
374 panic(err)
375 } else {
376 var stack string
377 Critical("Handler crashed with error", err)
378 for i := 1; ; i++ {
379 _, file, line, ok := runtime.Caller(i)
380 if !ok {
381 break
382 }
383 Critical(file, line)
384 stack = stack + fmt.Sprintln(file, line)
385 }
386 middleware.ShowErr(err, rw, r, stack)
387 }
388 } else {
372 if ErrorsShow { 389 if ErrorsShow {
373 handler := p.getErrorHandler(fmt.Sprint(err)) 390 handler := p.getErrorHandler(fmt.Sprint(err))
374 handler(rw, r) 391 handler(rw, r)
375 } else { 392 } else {
376 if !RecoverPanic { 393 if !RecoverPanic {
377 // go back to panic
378 panic(err) 394 panic(err)
379 } else { 395 } else {
380 var stack string
381 Critical("Handler crashed with error", err) 396 Critical("Handler crashed with error", err)
382 for i := 1; ; i++ { 397 for i := 1; ; i++ {
383 _, file, line, ok := runtime.Caller(i) 398 _, file, line, ok := runtime.Caller(i)
...@@ -385,15 +400,11 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) ...@@ -385,15 +400,11 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
385 break 400 break
386 } 401 }
387 Critical(file, line) 402 Critical(file, line)
388 if RunMode == "dev" {
389 stack = stack + fmt.Sprintln(file, line)
390 }
391 } 403 }
392 if RunMode == "dev" {
393 middleware.ShowErr(err, rw, r, stack)
394 } 404 }
395 } 405 }
396 } 406 }
407
397 } 408 }
398 } 409 }
399 }() 410 }()
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!