CompareTo should return 1 if err is null.
I'm not sure this method is needed. Error class does not implement IComparable.
I'm not sure that static Compare method is necessary.
You can use CompareTo in operator-overloading. check the comment below.
You can use CompareTo