[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53049] trunk/blender/source/blender/ python/mathutils/mathutils_Matrix.c: replace TypeError with Value error for matrix operations where the type is right but it can 't succeed because of a property of the instance (normally the wrong col/ row size).

Campbell Barton ideasman42 at gmail.com
Sun Dec 16 05:11:08 CET 2012


Revision: 53049
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53049
Author:   campbellbarton
Date:     2012-12-16 04:10:57 +0000 (Sun, 16 Dec 2012)
Log Message:
-----------
replace TypeError with Value error for matrix operations where the type is right but it can't succeed because of a property of the instance (normally the wrong col/row size).

Modified Paths:
--------------
    trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c

Modified: trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c
===================================================================
--- trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c	2012-12-16 04:05:16 UTC (rev 53048)
+++ trunk/blender/source/blender/python/mathutils/mathutils_Matrix.c	2012-12-16 04:10:57 UTC (rev 53049)
@@ -1025,13 +1025,13 @@
 	int col;
 
 	if (self->wrapped == Py_WRAP) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.resize_4x4(): "
 		                "cannot resize wrapped data - make a copy and resize that");
 		return NULL;
 	}
 	if (self->cb_user) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.resize_4x4(): "
 		                "cannot resize owned data - make a copy and resize that");
 		return NULL;
@@ -1080,7 +1080,7 @@
 	}
 	/* TODO, 2x2 matrix */
 
-	PyErr_SetString(PyExc_TypeError,
+	PyErr_SetString(PyExc_ValueError,
 	                "Matrix.to_4x4(): "
 	                "inappropriate matrix size");
 	return NULL;
@@ -1102,7 +1102,7 @@
 		return NULL;
 
 	if ((self->num_row < 3) || (self->num_col < 3)) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.to_3x3(): inappropriate matrix size");
 		return NULL;
 	}
@@ -1126,7 +1126,7 @@
 		return NULL;
 
 	if ((self->num_row < 3) || self->num_col < 4) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.to_translation(): "
 		                "inappropriate matrix size");
 		return NULL;
@@ -1156,7 +1156,7 @@
 
 	/*must be 3-4 cols, 3-4 rows, square matrix */
 	if ((self->num_row < 3) || (self->num_col < 3)) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.to_scale(): "
 		                "inappropriate matrix size, 3x3 minimum size");
 		return NULL;
@@ -1194,7 +1194,7 @@
 		return NULL;
 
 	if (self->num_col != self->num_row) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.invert(ed): "
 		                "only square matrices are supported");
 		return NULL;
@@ -1222,7 +1222,7 @@
 				break;
 			}
 			default:
-				PyErr_Format(PyExc_TypeError,
+				PyErr_Format(PyExc_ValueError,
 				             "Matrix invert(ed): size (%d) unsupported",
 				             (int)self->num_col);
 				return NULL;
@@ -1281,7 +1281,7 @@
 		return NULL;
 
 	if (self->num_col != self->num_row) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.adjugate(d): "
 		                "only square matrices are supported");
 		return NULL;
@@ -1311,7 +1311,7 @@
 			break;
 		}
 		default:
-			PyErr_Format(PyExc_TypeError,
+			PyErr_Format(PyExc_ValueError,
 			             "Matrix adjugate(d): size (%d) unsupported",
 			             (int)self->num_col);
 			return NULL;
@@ -1357,7 +1357,7 @@
 		return NULL;
 
 	if (self->num_row != 3 || self->num_col != 3) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.rotate(): "
 		                "must have 3x3 dimensions");
 		return NULL;
@@ -1390,7 +1390,7 @@
 	float size[3];
 
 	if (self->num_row != 4 || self->num_col != 4) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.decompose(): "
 		                "inappropriate matrix size - expects 4x4 matrix");
 		return NULL;
@@ -1476,7 +1476,7 @@
 		return NULL;
 
 	if (self->num_col != self->num_row) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.determinant(): "
 		                "only square matrices are supported");
 		return NULL;
@@ -1498,7 +1498,7 @@
 		return NULL;
 
 	if (self->num_col != self->num_row) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.transpose(d): "
 		                "only square matrices are supported");
 		return NULL;
@@ -1615,7 +1615,7 @@
 		return NULL;
 
 	if (self->num_col != self->num_row) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.identity(): "
 		                "only square matrices are supported");
 		return NULL;
@@ -1971,7 +1971,7 @@
 		return NULL;
 
 	if (mat1->num_col != mat2->num_col || mat1->num_row != mat2->num_row) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix addition: "
 		                "matrices must have the same dimensions for this operation");
 		return NULL;
@@ -2003,7 +2003,7 @@
 		return NULL;
 
 	if (mat1->num_col != mat2->num_col || mat1->num_row != mat2->num_row) {
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix addition: "
 		                "matrices must have the same dimensions for this operation");
 		return NULL;




More information about the Bf-blender-cvs mailing list