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

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); } } }