495033b9 by astaxie

fix #366

1 parent 9c164408
Showing 1 changed file with 21 additions and 10 deletions
...@@ -369,12 +369,8 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) ...@@ -369,12 +369,8 @@ 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 ErrorsShow { 372 if RunMode == "dev" {
373 handler := p.getErrorHandler(fmt.Sprint(err))
374 handler(rw, r)
375 } else {
376 if !RecoverPanic { 373 if !RecoverPanic {
377 // go back to panic
378 panic(err) 374 panic(err)
379 } else { 375 } else {
380 var stack string 376 var stack string
...@@ -385,15 +381,30 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) ...@@ -385,15 +381,30 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
385 break 381 break
386 } 382 }
387 Critical(file, line) 383 Critical(file, line)
388 if RunMode == "dev" { 384 stack = stack + fmt.Sprintln(file, line)
389 stack = stack + fmt.Sprintln(file, line)
390 }
391 } 385 }
392 if RunMode == "dev" { 386 middleware.ShowErr(err, rw, r, stack)
393 middleware.ShowErr(err, rw, r, stack) 387 }
388 } else {
389 if ErrorsShow {
390 handler := p.getErrorHandler(fmt.Sprint(err))
391 handler(rw, r)
392 } else {
393 if !RecoverPanic {
394 panic(err)
395 } else {
396 Critical("Handler crashed with error", err)
397 for i := 1; ; i++ {
398 _, file, line, ok := runtime.Caller(i)
399 if !ok {
400 break
401 }
402 Critical(file, line)
403 }
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!