zhjwpku commented on code in PR #8: URL: https://github.com/apache/iceberg-cpp/pull/8#discussion_r1884658885
########## api/iceberg/status.h: ########## @@ -0,0 +1,435 @@ +// Copyright (c) 2011 The LevelDB Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. See the AUTHORS file for names of contributors. +// +// A Status encapsulates the result of an operation. It may indicate success, +// or it may indicate an error with an associated error message. +// +// Multiple threads can invoke const methods on a Status without +// external synchronization, but if any of the threads may call a +// non-const method, all threads accessing the same Status must use +// external synchronization. + +// Adapted from Apache Kudu, TensorFlow, Apache Arrow Review Comment: > IIRC, status is the recommended convention from Google coding style. We haven't discussed whether to use status or exception (or something else) across the repo. Personally I prefer using exception which provides better debug-ability and requires less lines to deal with error handling. From users' perspective, I think Status is better, developers tend to handle the Status/Result more likely than the exception. The iceberg-rust repo also adopt this kind of design IIUC. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org