Git Product home page Git Product logo

Comments (5)

eminence avatar eminence commented on June 27, 2024 1

You're right that a library that panics is a little unusual. It was a deliberate choice on my part as a way to encourage bug reports. I don't know if it was the right choice, though. It has proven useful, at the expense of annoying users. Now that I think about it some more, maybe I could introduce a feature that would suppress panics (and turn them into Result::Err(..) instead).

from procfs.

eminence avatar eminence commented on June 27, 2024 1

Thanks for the feedback. I've opened a new issue to discuss the general topic of removing as many panics as possible.

I also realized that I've failed to address the original issue brought up by @edigaryev -- I'll plan on doing that work this week.

from procfs.

eminence avatar eminence commented on June 27, 2024

Thanks for the report. What would you recommend here? I suppose these fields could be converted from String to Vec<u8>, but I'm hesitant to stop using the String type, since it's very convenient. Would using String::from_utf8_lossy() be acceptable for your use-case?

from procfs.

edigaryev avatar edigaryev commented on June 27, 2024

Would using String::from_utf8_lossy() be acceptable for your use-case?

That'd work for me. At least it won't panic, which is kinda surprising when using a library, but I guess this way more bugs can be unveiled because people will actually report their panic()'s.

from procfs.

idanski avatar idanski commented on June 27, 2024

@eminence I use your library in a project, and I'm also concerned about it panicking in production (not so much annoy but a production deal-breaker).

Maybe having an error type for unexpected data/format (with backtrace) - which your users can report - will be a good middle ground?

I will gladly help turn the package panic free if you decide to go for it.

from procfs.

Related Issues (20)

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.