Battle_Script_Pro.Form1.ParseByteParameter C# (CSharp) Method

ParseByteParameter() private method

private ParseByteParameter ( string input, int lineNumber, int parameterNumber ) : ReturnWorked
input string
lineNumber int
parameterNumber int
return ReturnWorked
        private ReturnWorked ParseByteParameter(string input, int lineNumber, int parameterNumber)
        {
            uint temp = 0;
            bool succeeded = UInt32.TryParse(input, out temp);
            if (!succeeded)
            {
                byte value = 0;
                try
                {
                    value = Byte.Parse(ToDecimal(input));
                }
                catch (OverflowException)
                {
                    return (new ReturnWorked(false, Convert.ToByte(0)));
                }
                catch
                {
                    uint potentialValue = 0;
                    bool success = userDefinitions.TryGetValue(input.ToUpper(), out potentialValue);
                    if (success)
                    {
                        try
                        {
                            byte toReturn = Convert.ToByte(potentialValue);
                            return (new ReturnWorked(true, toReturn));
                        }
                        catch
                        {
                            return (new ReturnWorked(false, Convert.ToByte(0)));
                        }
                    }
                    success = keywords.TryGetValue(input.ToUpper(), out potentialValue);
                    if (success)
                    {
                        try
                        {
                            byte toReturn = Convert.ToByte(potentialValue);
                            return (new ReturnWorked(true, toReturn));
                        }
                        catch
                        {
                            return (new ReturnWorked(false, Convert.ToByte(0)));
                        }
                    }
                    return (new ReturnWorked(false, Convert.ToByte(0)));
                }
                return (new ReturnWorked(true, value));
            }
            else
            {
                byte value = 0;
                try
                {
                    value = Byte.Parse(input);
                }
                catch (OverflowException)
                {
                    return (new ReturnWorked(false, Convert.ToByte(0)));
                }
                catch
                {
                    uint potentialValue = 0;
                    bool success = userDefinitions.TryGetValue(input.ToUpper(), out potentialValue);
                    if (success)
                    {
                        try
                        {
                            byte toReturn = Convert.ToByte(potentialValue);
                            return (new ReturnWorked(true, toReturn));
                        }
                        catch
                        {
                            return (new ReturnWorked(false, Convert.ToByte(0)));
                        }
                    }
                    success = keywords.TryGetValue(input.ToUpper(), out potentialValue);
                    if (success)
                    {
                        try
                        {
                            byte toReturn = Convert.ToByte(potentialValue);
                            return (new ReturnWorked(true, toReturn));
                        }
                        catch
                        {
                            return (new ReturnWorked(false, Convert.ToByte(0)));
                        }
                    }
                    return (new ReturnWorked(false, "Error parsing parameter on line " + lineNumber + ", parameter " + (parameterNumber + 1), false));
                }
                return (new ReturnWorked(true, value));
            }
        }
Form1