Конечно, я могу помочь с этой задачей. Вот пример функции на Python, которая находит произведение двух матриц и возбуждает исключение ValueError, если количество столбцов в первой матрице не совпадает с количеством строк во второй матрице:

```
def multiply_matrices(matrix1, matrix2):
    
    # проверяем, что количество столбцов в matrix1 равно количеству строк в matrix2
    if len(matrix1[0]) != len(matrix2):
        raise ValueError("Матрицы несогласованы")
    
    # создаем пустую матрицу, которая будет содержать произведение
    result = [[0 for j in range(len(matrix2[0]))] for i in range(len(matrix1))]
    
    # проходим по каждой строке матрицы 1
    for i in range(len(matrix1)):
        # проходим по каждому столбцу матрицы 2
        for j in range(len(matrix2[0])):
            # вычисляем скалярное произведение каждого элемента строки матрицы 1 на каждый элемент столбца матрицы 2
            for k in range(len(matrix2)):
                result[i][j] += matrix1[i][k] * matrix2[k][j]
    
    return result
```

Эта функция принимает две матрицы в качестве аргументов и возвращает новую матрицу, которая является их произведением. Если матрицы не согласованы, то возбуждается исключение ValueError. 

Например, чтобы умножить две матрицы [[1, 2], [3, 4]] и [[5, 6], [7, 8]], можно вызвать функцию вот так:

```
matrix1 = [[1, 2], [3, 4]]
matrix2 = [[5, 6], [7, 8]]
result = multiply_matrices(matrix1, matrix2)
print(result)  # [[19, 22], [43, 50]]
```

Эта функция не использует сторонние библиотеки и использует только встроенные конструкции языка Python для работы с матрицами.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence