Exception#
The Exception class is the base exception type for all errors thrown by the Polars-PHP extension. It extends PHP’s built-in \Exception class.
Hierarchy#
\Exception
└── Polars\Exception
When Exceptions Are Thrown#
Polars exceptions are thrown in various situations:
DataFrame Operations#
Creating a DataFrame with invalid data
Accessing non-existent columns
Row index out of bounds
Invalid column count when setting column names
File I/O errors when reading/writing CSV
Expression Operations#
Invalid value types passed to expression methods
Passing non-Expr objects where Expr is expected
Handling Exceptions#
use Polars\DataFrame;
use Polars\Exception;
try {
$df = new DataFrame([
'col1' => [1, 2, 3]
]);
// This will throw - column doesn't exist
$result = $df['nonexistent'];
} catch (Exception $e) {
echo "Polars error: " . $e->getMessage();
}
Common Exception Messages#
Situation |
Example Message |
|---|---|
Column not found |
|
Row out of bounds |
|
Invalid column count |
|
Invalid type |
|
File not found |
|
Invalid expression |
|
Example#
use Polars\DataFrame;
use Polars\Expr;
use Polars\Exception;
try {
$df = DataFrame::readCsv('nonexistent.csv');
} catch (Exception $e) {
// Handle file not found
echo "Could not load file: " . $e->getMessage();
}
try {
$df = new DataFrame(['col' => [1, 2, 3]]);
$df->setColumns(['a', 'b']); // Wrong count
} catch (Exception $e) {
// Handle column count mismatch
echo "Column error: " . $e->getMessage();
}
try {
$df = new DataFrame(['col' => [1, 2, 3]]);
// Trying to use non-Expr in select
$df->select(['invalid']);
} catch (Exception $e) {
// Handle invalid expression
echo "Expression error: " . $e->getMessage();
}