{"record":{"id":"5943bc97ce3547e0","repo":"zeromicro/go-zero","slug":"division-by-zero","errorCode":null,"errorMessage":"division by zero","messagePattern":"division by zero","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"mcp/readme.md","lineNumber":125,"sourceCode":"}\n\ntool := &mcp.Tool{\n\tName:        \"calculate\",\n\tDescription: \"Perform arithmetic operations\",\n}\n\nhandler := func(ctx context.Context, req *mcp.CallToolRequest, args CalculateArgs) (*mcp.CallToolResult, any, error) {\n\tvar result float64\n\tswitch args.Operation {\n\tcase \"add\":\n\t\tresult = args.A + args.B\n\tcase \"subtract\":\n\t\tresult = args.A - args.B\n\tcase \"multiply\":\n\t\tresult = args.A * args.B\n\tcase \"divide\":\n\t\tif args.B == 0 {\n\t\t\treturn &mcp.CallToolResult{IsError: true}, nil, fmt.Errorf(\"division by zero\")\n\t\t}\n\t\tresult = args.A / args.B\n\t}\n\n\treturn &mcp.CallToolResult{\n\t\tContent: []mcp.Content{\n\t\t\t&mcp.TextContent{Text: fmt.Sprintf(\"Result: %v\", result)},\n\t\t},\n\t}, result, nil\n}\n\n// Register tool\nmcp.AddTool(server, tool, handler)\n```\n\n## Adding Prompts\n\nPrompts provide reusable message templates:","sourceCodeStart":107,"sourceCodeEnd":143,"githubUrl":"https://github.com/zeromicro/go-zero/blob/11f21098ddd95a58f801920fea4f0543d4d01586/mcp/readme.md#L107-L143","documentation":"Error \"division by zero\" thrown in zeromicro/go-zero.","triggerScenarios":"Thrown at mcp/readme.md:125 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"11f21098ddd95a58f801920fea4f0543d4d01586","analyzedAt":"2026-08-15T15:59:26.308Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}