Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

C#

Elfar Oliver
Elfar Oliver
3,924 Points

I'm not getting the same results and I don't know why

I have the exact same code written down and I'm supposed to receive one error in the console and one message in an exception object and I'm receiving totally different results

Here's the code from Game.cs

using System;

namespace TreehouseDefense
{
    class Game
    {
        public static void Main()
        {
            Map map = new Map(8, 5);

            try
            {
                MapLocation mapLocation = new MapLocation(20, 20, map);
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
    }
}

Here's the code from MapLocation.cs

namespace TreehouseDefense
{
    class MapLocation : Point
    {
        public MapLocation(int x, int y) : base(x, y)
        {
            if (!map.OnMap(this))
            {
                throw new System.Exception(x + "," + y + " is outside the boundaries the map."); 
            }

        }
    }
}

1 Answer

To get the message, you need to access the Message property in the Exception.

Instead of ... catch(Exception ex) { Console.WriteLine(ex); } ...

You should have ... catch(Exception ex) { Console.WriteLine(ex.Message); } ...