# File test/unit/assertions.rb, line 244
      def assert_throws(expected_symbol, message="", &proc)
        _wrap_assertion do
          assert_instance_of(Symbol, expected_symbol, "assert_throws expects the symbol that should be thrown for its first argument")
          assert(block_given?, "Should have passed a block to assert_throws")
          caught = true
          begin
            catch(expected_symbol) do
              proc.call
              caught = false
            end
            full_message = build_message(message, expected_symbol) do |arg|
              "<:#{arg}> should have been thrown"
            end
            assert(caught, full_message)
          rescue NameError => name_error
            if ( name_error.message !~ /^uncaught throw `(.+)'$/ )  #`
              raise name_error
            end
            full_message = build_message(message, expected_symbol, $1) do |arg1, arg2|
              "<:#{arg1}> expected to be thrown but\n" +
              "<:#{arg2}> was thrown"
            end
            flunk(full_message)
          end  
        end
      end