Changed SpinInvalidException to InvalidInput to make it more general and useful.
Added error checking for input values for MaxJ, MinJ, S, S1 and S2. Also put try/catch blocks in decimal and double converter methods.
Changed catch block from SpinInvalidException to InvalidInput. In SOCJT.cs removed some strange character that was causing Build errors.
Changed the error message slightly.
Moved the InvalidInput exception out of the conditional if DEBUG block.
Fixed some problems with the input value error checking. Works well now.