<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />

NoThrowExpressionVisitor

using System.Linq.Expressions; namespace Newtonsoft.Json.Utilities { internal class NoThrowExpressionVisitor : ExpressionVisitor { internal static readonly object ErrorResult = new object(); protected override Expression VisitConditional(ConditionalExpression node) { if (node.IfFalse.NodeType == ExpressionType.Throw) return Expression.Condition(node.Test, node.IfTrue, Expression.Constant(ErrorResult)); return base.VisitConditional(node); } } }