Git Product home page Git Product logo

ribol's Introduction

ribol

ribol is a conditional restart library for clojure and clojurescript inspired by errorkit

Build Status

DEPRECATION NOTICE

ribol has been merged into hara. Please see updated docs for the most recent version.

Installation:

In project.clj, add to dependencies:

 [im.chit/ribol "0.4.1"]

Documentation

See main site at:

http://docs.caudate.me/ribol/

To generate this document for offline use:

  1. Clone this repository

git clone https://github.com/zcaudate/ribol.git

  1. Install lein-midje-doc.

  2. Create docs folder

    mkdir docs

  3. Run in project folder

    lein midje-doc

The output will be generated in docs/index.html

Changes:

v0.4.1

  • Bugfix

v0.4.0

  • Clojurescript support!
  • TODO: Docs for clojurescript

v0.3.3

  • Allow catch clauses in manage, anticipate, raise-on and raise-on-all
  • Supports more bindings for issues (hashmap, symbol)
  • Checkers support sets and underscores

v0.3.2

  • supports an additional :origin key for keeping the original stacktrace information intact in raise-on and raise-on-all

v0.3.1

  • supports finally clauses in manage, anticipate, raise-on and raise-on-all

License

Copyright © 2013 Chris Zheng

Distributed under the MIT License

ribol's People

Contributors

bmabey avatar

Stargazers

Delon R. Newman avatar c4605 avatar Paul Rutledge avatar  avatar Mohammad Sadegh Khoeini avatar Dan Lebrero avatar Tom Emerson avatar Andrea Richiardi avatar Roman Pearah avatar Manuel Durán Aguete avatar Oscar Gonzalez avatar  avatar Aaron Craelius avatar Alexis Petrounias avatar Jordan Arentsen avatar Stephen Brady avatar Daniel Jay MacDonald avatar Han Tuzun avatar John Walker avatar Robert Medeiros avatar Eunpyoung Kim avatar Rafik NACCACHE avatar Gary Haussmann avatar hamlet avatar Thomas Crowley avatar Michel Rasschaert avatar Andreas avatar Brandon Leonardo avatar Dragan Djuric avatar Shriphani Palakodety avatar Rob Nagle avatar Dmitri Sotnikov avatar Michael Rubanov avatar Christian Karlsen avatar Andrii Mishkovskyi avatar none-p avatar Vlad Bokov avatar Andrey Antukh avatar Reid D McKenzie avatar Lars Andersen avatar  avatar John avatar James Henderson avatar Stéphane avatar Eduardo Lopez avatar  avatar Alex Vzorov avatar Steve Losh avatar groovyquan avatar Daniel Neal avatar Ytheramwangi avatar Anthony Rosequist avatar Steffen Dienst avatar  avatar Dom Kiva Meyer avatar  avatar Chris McDevitt avatar Joel Boehland avatar Jorge David avatar Don Jackson avatar  avatar Nicola Mometto avatar  avatar Arnout Roemers avatar Ralf Schmitt avatar Chap Lovejoy avatar Chris Bilson avatar Marc Haemmerle avatar Mykola Rybak avatar  avatar Val Packett avatar Norbert Schneider avatar Eduardo Julián avatar Michael Hanson avatar Sergey Pariev avatar Fogus avatar Nikita Prokopov avatar Dmitry Sabanin avatar Masakazu Ishibashi avatar  avatar Luo Tian avatar Timo Mihaljov avatar Shaun Gilchrist avatar Julien avatar Ronen avatar Daniel Jomphe avatar Gunnar Völkel avatar AlexBaranosky avatar

Watchers

Steve Losh avatar Sunil S Nandihalli avatar  avatar  avatar James Cloos avatar Chris Zheng avatar Andrea Richiardi avatar Christian Karlsen avatar

Forkers

bmabey dsabanin

ribol's Issues

ExceptionInfo not properly handled by ribol "catch"

Because of the way ribol uses ExceptionInfo objects, other ExceptionInfos are not properly caught when they don't belong to ribol.

> (manage (throw (ex-info "an error" {:my :data}))
    (catch Throwable t t))
;; throws: ExceptionInfo an error  clojure.core/ex-info (core.clj:4403)

I believe the problem is that when ribol catches an ExceptionInfo, if it doesn't belong to ribol it will rethrow it, which doesn't reach the remaining catch clauses in the try block. Perhaps another try block should be wrapped around the first one, where all the parse-try-forms clauses can go?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.