How to handle invalid argument in Go

1 Answer

0 votes
package main

import "fmt"

func CreateNewSquareMatrix(N int) ([][]float64, error) {
	if N < 0 {
		return nil, fmt.Errorf("Invalid size %d: cannot be negative", N)
	}
	matrix := make([][]float64, N)
	for i := range matrix {
		matrix[i] = make([]float64, N)
	}
	return matrix, nil
}

func main() {
	N1 := 4
	matrix1, err1 := CreateNewSquareMatrix(N1)
	if err1 == nil {
		fmt.Println(matrix1)
	} else {
		fmt.Println(err1)
	}

	N2 := -3
	matrix2, err2 := CreateNewSquareMatrix(N2)
	if err2 == nil {
		fmt.Println(matrix2)
	} else {
		fmt.Println(err2)
	}
}



/*
run:

[[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]]
Invalid size -3: cannot be negative

*/

 



answered May 20, 2025 by avibootz

Related questions

4 answers 285 views
4 answers 306 views
4 answers 254 views
4 answers 258 views
3 answers 213 views
...