< Summary

Class:Microsoft.Azure.ServiceBus.ServiceBusException
Assembly:Microsoft.Azure.ServiceBus
File(s):C:\Git\azure-sdk-for-net\sdk\servicebus\Microsoft.Azure.ServiceBus\src\ServiceBusException.cs
Covered lines:10
Uncovered lines:8
Coverable lines:18
Total lines:83
Line coverage:55.5% (10 of 18)
Covered branches:1
Total branches:2
Branch coverage:50% (1 of 2)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor(...)-0%100%
.ctor(...)-100%100%
.ctor(...)-0%100%
.ctor(...)-100%100%
get_Message()-75%50%
get_IsTransient()-100%100%
get_ServiceBusNamespace()-0%100%

File(s)

C:\Git\azure-sdk-for-net\sdk\servicebus\Microsoft.Azure.ServiceBus\src\ServiceBusException.cs

#LineLine coverage
 1// Copyright (c) Microsoft. All rights reserved.
 2// Licensed under the MIT license. See LICENSE file in the project root for full license information.
 3
 4namespace Microsoft.Azure.ServiceBus
 5{
 6    using System;
 7    using Primitives;
 8
 9    /// <summary>
 10    /// Base Exception for various Service Bus errors.
 11    /// </summary>
 12    public class ServiceBusException : Exception
 13    {
 14        /// <summary>
 15        /// Returns a new ServiceBusException
 16        /// </summary>
 17        /// <param name="isTransient">Specifies whether or not the exception is transient.</param>
 018        public ServiceBusException(bool isTransient)
 19        {
 020            this.IsTransient = isTransient;
 021        }
 22
 23        /// <summary>
 24        /// Returns a new ServiceBusException
 25        /// </summary>
 26        /// <param name="isTransient">Specifies whether or not the exception is transient.</param>
 27        /// <param name="message">The detailed message exception.</param>
 28        public ServiceBusException(bool isTransient, string message)
 429            : base(message)
 30        {
 431            this.IsTransient = isTransient;
 432        }
 33
 34        /// <summary>
 35        /// Returns a new ServiceBusException
 36        /// </summary>
 37        /// <param name="isTransient">Specifies whether or not the exception is transient.</param>
 38        public ServiceBusException(bool isTransient, Exception innerException)
 039            : base(innerException.Message, innerException)
 40        {
 041            this.IsTransient = isTransient;
 042        }
 43
 44        /// <summary>
 45        /// Returns a new ServiceBusException
 46        /// </summary>
 47        /// <param name="isTransient">Specifies whether or not the exception is transient.</param>
 48        /// <param name="message">The detailed message exception.</param>
 49        public ServiceBusException(bool isTransient, string message, Exception innerException)
 2650            : base(message, innerException)
 51        {
 2652            this.IsTransient = isTransient;
 2653        }
 54
 55        /// <summary>
 56        /// Gets the message as a formatted string.
 57        /// </summary>
 58        public override string Message
 59        {
 60            get
 61            {
 3462                var baseMessage = base.Message;
 3463                if (string.IsNullOrEmpty(this.ServiceBusNamespace))
 64                {
 3465                    return baseMessage;
 66                }
 67
 068                return "{0}, ({1})".FormatInvariant(baseMessage, this.ServiceBusNamespace);
 69            }
 70        }
 71
 72        /// <summary>
 73        /// A boolean indicating if the exception is a transient error or not.
 74        /// </summary>
 75        /// <value>returns true when user can retry the operation that generated the exception without additional interv
 8276        public bool IsTransient { get; }
 77
 78        /// <summary>
 79        /// Gets the Service Bus namespace from which the exception occurred, if available.
 80        /// </summary>
 081        public string ServiceBusNamespace { get; internal set; }
 82    }
 83}