20 of the best prompts for handling async error propagation, step by step across 4 stages. Works with ChatGPT, Claude, and Gemini.
20 of the best prompts for handling async error propagation, step by step across 4 stages. Works with ChatGPT, Claude, and Gemini.
Published June 28, 2026
Async functions generated by GitHub Copilot often lack proper error handling, leading to unhandled promise rejections. This can cause unexpected crashes and make debugging difficult. These prompts guide developers to ensure robust error handling in async functions. Built across 4 distinct stages covering Diagnose the Wall, Isolate and Fix, Verify the Resolution and more, this guide gives you one expert prompt per step so you never have to write from scratch or guess what the AI needs. The prompts work in ChatGPT, Claude, and Gemini and are designed to get usable output on the first try.
Identify where async functions are failing to handle errors.
Identify Unhandled Errors
Please review the following async function code: [PASTE CODE]. Identify any areas where errors are not being caught or handled properly. Provide a detailed analysis of the potential unhandled errors, suggest improvements for error handling, and explain how these changes can enhance the reliability and robustness of the code. Additionally, include examples of how to implement proper error handling in the identified areas.
Check Promise Rejections
Analyze the following code snippet for potential issues: [PASTE CODE]. Specifically, identify any unhandled promise rejections that could lead to runtime errors. Provide a detailed explanation of where these rejections occur, how they can affect the execution flow, and suggest best practices for handling them effectively. Additionally, include examples of how to properly handle these promise rejections to prevent errors.
Spot Missing Try-Catch
Examine the following async function: [PASTE CODE]. Identify any areas where try-catch blocks are missing for proper error handling. For each missing block, provide a brief explanation of why it is necessary and suggest where to add it in the code. Additionally, outline the potential errors that could occur without these try-catch blocks and how they could impact the function's execution.
Assess Error Propagation
Please analyze the following function: [PASTE CODE]. I need you to evaluate whether errors are being propagated correctly to the caller. Specifically, check if all potential error cases are handled appropriately and whether the function returns the expected error messages or codes. Additionally, provide suggestions for improving error handling if any issues are identified.
Evaluate Error Logging
Please review the following async operation code: [PASTE CODE]. Analyze whether there is sufficient error logging implemented to capture any issues that may arise during execution. Specifically, identify any areas where logging could be improved or where errors might not be adequately captured. Additionally, suggest best practices for error logging in async operations to ensure that all potential errors are logged effectively for debugging purposes.
Implement fixes to ensure errors are caught and handled.
Add Try-Catch Blocks
Please review the following code: [PASTE CODE]. Identify areas where try-catch blocks should be added to effectively handle potential asynchronous errors. Explain the rationale for each insertion, detailing the types of errors that could occur in those sections and how the try-catch blocks will improve error handling. Ensure that the final code is formatted correctly and maintains its original functionality while enhancing its robustness against errors.
Implement Error Logging
Enhance the following code by adding comprehensive logging statements to capture error details effectively. Ensure that each potential error point is logged with relevant information, including the error message, stack trace, and any contextual data that may help in debugging. The logging should be structured and formatted for clarity, and include timestamps for each log entry. After implementing the logging, provide a brief summary of the changes made and how they improve error tracking in the code. Here is the code to enhance: [PASTE CODE].
Use Promise.catch
Modify the following promise-based code: [PASTE CODE] to include a .catch() method for handling any potential rejections. Ensure that the error handling provides a clear message indicating what went wrong. Additionally, structure the error handling to log the error details to the console for debugging purposes. The final code should maintain the original functionality while improving its robustness against errors.
Ensure Error Propagation
Please adjust the following function: [PASTE CODE] to ensure that all errors are correctly propagated to the calling function. Explain the changes you make and how they improve error handling. Additionally, provide an example of how this function can be called, including a scenario where an error might occur, and describe how the calling function should handle that error.
Refactor for Async/Await
Refactor the following promise-based code: [PASTE CODE] to utilize async/await syntax. Ensure that you implement proper error handling throughout the code. Additionally, provide comments to explain the changes made and the reasoning behind using async/await in this context. The refactored code should maintain the original functionality while improving readability and error management.
Confirm that error handling is correctly implemented and functioning.
Test Error Handling
Please run a series of tests on the following code: [PASTE CODE]. I want to verify that all asynchronous errors are caught and handled appropriately. Specifically, check for any unhandled promise rejections and ensure that the error handling logic is functioning as intended. Provide a summary of the results, including any errors encountered during the tests and suggestions for improvements if necessary.
Simulate Error Scenarios
Please analyze the following function: [PASTE CODE] and simulate potential error scenarios that could arise during its execution. Identify specific types of errors, such as network failures, invalid inputs, or timeout issues, and describe how the function should respond to each scenario. Confirm whether the error handling mechanisms in place are effective and suggest any improvements if necessary. Provide a detailed report on your findings, including examples of how each error could occur and the expected outcomes.
Check Error Logs
Please execute the following code: [PASTE CODE] and analyze the resulting logs for any errors. Ensure that all errors are being logged correctly and provide a summary of any issues found. Additionally, identify the specific types of errors that are logged and suggest potential improvements to enhance error handling in the code. Format your findings in a clear report that includes examples of the logged errors and recommendations for best practices.
Verify Error Propagation
Please verify the error propagation of the following function: [PASTE CODE]. Ensure that any errors occurring within the function are correctly passed back to the caller. Provide a detailed explanation of how the error handling is implemented, including any specific cases where errors might not propagate as expected. Additionally, include examples of both successful and unsuccessful error propagation scenarios, and suggest improvements if necessary.
Run Comprehensive Tests
Please perform comprehensive testing on the following code: [PASTE CODE]. Focus specifically on verifying robust error handling across all asynchronous operations. Include a variety of test cases that cover different scenarios, such as successful completions, timeouts, and error responses. Provide a summary of the test results, highlighting any issues found and recommendations for improvements to enhance error handling.
Create reusable artefacts to ensure consistent error handling in future code.
Draft Error Handling Rule
Please draft a new error handling rule for CLAUDE.md that mandates the use of try-catch blocks in all asynchronous functions. The rule should explain the importance of handling errors in async operations, including potential consequences of not doing so, such as unhandled promise rejections. Additionally, provide examples of how to implement try-catch blocks effectively in various scenarios, and outline best practices for logging errors and providing user feedback. Ensure the rule is clear, concise, and formatted for easy reference.
Create Error Logging Template
Please create a detailed error logging template that can be consistently used in future asynchronous functions. The template should include sections for capturing the error message, stack trace, timestamp, and any relevant context such as user ID, function name, and input parameters. Additionally, provide guidelines on how to implement this template in various programming languages, ensuring that it can be easily adapted for different projects. Include examples of how to log both expected and unexpected errors, and suggest best practices for maintaining and reviewing error logs over time.
Develop Error Propagation Checklist
Help me develop a comprehensive checklist for ensuring proper error propagation in asynchronous functions during code reviews. The checklist should include key points such as: verifying that all promises are properly handled, ensuring that errors are caught and logged appropriately, checking for the use of try-catch blocks in async functions, and confirming that error messages are clear and informative. Additionally, include best practices for propagating errors up the call stack and handling them in a user-friendly manner. Format the checklist in a clear, bulleted list for easy reference.
Establish Naming Conventions
Please define comprehensive naming conventions for asynchronous functions in my codebase that clearly indicate their error handling expectations. Include guidelines on how to name functions that handle errors, such as using prefixes or suffixes to denote error handling capabilities. Additionally, provide examples of naming conventions for both functions that handle errors and those that do not, and explain the rationale behind these conventions. Ensure the conventions promote clarity and consistency across the codebase.
Implement Code Comment Guidelines
Create a comprehensive set of guidelines for commenting on error handling logic specifically within asynchronous functions. The guidelines should cover best practices for clarity and consistency, including what types of errors should be documented, how to describe the context of error handling, and examples of effective comments. Additionally, include recommendations on the structure of comments, such as using clear language and maintaining a uniform format throughout the codebase. Aim for a detailed document that can serve as a reference for developers to enhance code readability and maintainability.
GitHub Copilot generates code based on patterns from its training data, which may not always include robust error handling. Developers should review and enhance error handling manually.
Provide Copilot with examples of well-handled async functions in your codebase. This increases the likelihood of it suggesting similar patterns.
Common issues include missing try-catch blocks, unhandled promise rejections, and inadequate error logging. These can lead to silent failures and difficult debugging.
Yes, Copilot can suggest logging statements if prompted. Ensure your prompts include context about the need for logging to guide its suggestions.
Async/await syntax often results in cleaner and more readable code, making it easier to implement and manage error handling compared to traditional promise chains.
AI Prompts for Improving Async Error Handling
Async functions in Bolt may fail to catch, handle, or propagate errors correctly, leading to silent failures.
See promptsAI Prompts for Improving Async Error Handling
Async functions that do not catch or propagate errors can lead to unhandled promise rejections, causing your application to crash.
See promptsAI Prompts for Handling Async Errors Correctly
Async functions in your code are not catching or handling errors, leading to unhandled promise rejections.
See prompts