Repository: bitcoin/bitcoin
File: src/common/args.h (C/C++)

Code before:
     * Add subcommand
     */
    void AddCommand(const std::string& cmd, const std::string& help);

    /**
     * Add many hidden arguments
     */
    void AddHiddenArgs(const std::vector<std::string>& args);

    /**
     * Clear available arguments
     */
    void ClearArgs() {
        LOCK(cs_args);
        m_available_args.clear();
        m_network_only_args.clear();
    }

    /**
     * Get the help string
     */
    std::string GetHelpMessage() const;

    /**
     * Return Flags for known arg.
     * Return nullopt for unknown arg.
     */
    std::optional<unsigned int> GetArgFlags(const std::string& name) const;

    /**
     * Get settings file path, or return false if read-write settings were
     * disabled with -nosettings.
     */
    bool GetSettingsPath(fs::path* filepath = nullptr, bool temp = false, bool backup = false) const;

    /**
     * Read settings file. Push errors to vector, or log them if null.
     */
    bool ReadSettingsFile(std::vector<std::string>* errors = nullptr);

    /**
     * Write settings file or backup settings file. Push errors to vector, or
     * log them if null.
     */
    bool WriteSettingsFile(std::vector<std::string>* errors = nullptr, bool backup = false) const;

    /**
     * Get current setting from config file or read/write settings file,
     * ignoring nonpersistent command line or forced settings values.
     */
    common::SettingsValue GetPersistentSetting(const std::string& name) const;

Review comment (suggestion):
nit:  If other changes are being made, could use `@throws` doxygen  syntax instead.

Currently renders as:
![image](https://github.com/user-attachments/assets/5fcb651f-d2d0-4ecd-b264-c5d287594ad1)

Using @throws for the exception:
![image](https://github.com/user-attachments/assets/2a3692fe-fb8a-43b8-a102-97c1b588b32d)


```diff
diff --git a/src/common/args.h b/src/common/args.h
index 73a4cca1441..f2489ea7446 100644
--- a/src/common/args.h
+++ b/src/common/args.h
@@ -366,7 +366,8 @@ protected:
 
     /**
      * Check CLI command args
-     * (throws std::runtime_error when multiple CLI_COMMAND arguments are specified)
+     * 
+     * @throws std::runtime_error when multiple CLI_COMMAND arguments are specified
      */
     void CheckMultipleCLIArgs() const;
```

https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#coding-style-doxygen-compatible-comments

Code after:
    /**
     * Add subcommand
     */
    void AddCommand(const std::string& cmd, const std::string& help);

    /**
     * Add many hidden arguments
     */
    void AddHiddenArgs(const std::vector<std::string>& args);

    /**
     * Clear available arguments
     */
    void ClearArgs() {
        LOCK(cs_args);
        m_available_args.clear();
        m_network_only_args.clear();
    }

    /**
     * Check CLI command args
     *
     * @throws std::runtime_error when multiple CLI_COMMAND arguments are specified
     */
    void CheckMultipleCLIArgs() const;

    /**
     * Get the help string
     */
    std::string GetHelpMessage() const;

    /**
     * Return Flags for known arg.
     * Return nullopt for unknown arg.
     */
    std::optional<unsigned int> GetArgFlags(const std::string& name) const;

    /**
     * Get settings file path, or return false if read-write settings were
     * disabled with -nosettings.
     */
    bool GetSettingsPath(fs::path* filepath = nullptr, bool temp = false, bool backup = false) const;

    /**
     * Read settings file. Push errors to vector, or log them if null.
     */
    bool ReadSettingsFile(std::vector<std::string>* errors = nullptr);

    /**
     * Write settings file or backup settings file. Push errors to vector, or
     * log them if null.