{"id":14066510,"url":"https://github.com/s-fleck/exceptions","last_synced_at":"2025-03-24T18:17:36.824Z","repository":{"id":89608367,"uuid":"306555132","full_name":"s-fleck/exceptions","owner":"s-fleck","description":null,"archived":false,"fork":false,"pushed_at":"2022-05-15T08:31:40.000Z","size":68,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T12:09:55.054Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/s-fleck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-23T07:02:51.000Z","updated_at":"2023-04-30T20:24:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"0fe913bc-5b6b-4056-a6ae-651c24416385","html_url":"https://github.com/s-fleck/exceptions","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-fleck%2Fexceptions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-fleck%2Fexceptions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-fleck%2Fexceptions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-fleck%2Fexceptions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/s-fleck","download_url":"https://codeload.github.com/s-fleck/exceptions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245325221,"owners_count":20596818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-13T07:05:08.348Z","updated_at":"2025-03-24T18:17:36.801Z","avatar_url":"https://github.com/s-fleck.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"\n# exceptions\n\n\u003c!-- badges: start --\u003e\n[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://www.tidyverse.org/lifecycle/#experimental)\n\u003c!-- badges: end --\u003e\n\nThis package is aimed at developers who want to throw meaningful and streamlined\nexceptions from their R packages. The taxonomy of exceptions is heavily \ninspired (stolen) from python's built-in exception classes. See \nhttps://docs.python.org/3/library/exceptions.html. \n\nBy providing proper exception classes from errors encountered by your functions,\nyou  makes it easier for users (and yourself) to respond to these errors \nin `tryCatch()` statements - for example, retry on a connection timeout, but \nnot on a missing file. For for infos, please refer to the chapter on \n*Condition Handling* at http://adv-r.had.co.nz/Exceptions-Debugging.html\n\n\n## Dependencies\n\nThis package depends only on base R. Additional packages are only required when \nconverting errors produced by these same packages (rlang, httr, httr2) to\nHTTP error objects, that can be serialized to json and (for example) returned  \nby a plumber API.\n\n\n## Installation\n\nYou can install the released version of exceptions from [CRAN](https://CRAN.R-project.org) with:\n\n``` r\ninstall.packages(\"exceptions\")\n```\n\n## Example\n\nThis is a basic example which shows you how to solve a common problem:\n\n```\n# without {exceptions}\n\nstop(\"File 'command.com' not found\")\n\n# with {exceptions}\n\nstop(exceptions::FileNotFoundError(file = \"COMMAND.COM\"))\n\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs-fleck%2Fexceptions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fs-fleck%2Fexceptions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs-fleck%2Fexceptions/lists"}